I do not think this is the app that requires the password, but the host file itself. The host file is owned by root and requires a password to edit. Hostbuddy is probably just requesting the password in order to modify the file. A way to fix this would be to take ownership of the file (not recommended due to security reasons). Another way would be to run Hostbuddy as administrator (but I believe this requires a password anyway just to start it).
If you for some reason want to take the security risk for convenience you should take ownership of the host file OR run Hostbuddy as administrator.
EDIT: IMPLEMENTATION
In order to achieve this I believe you must set the setuid bit on the application. To do so I suggest making a new user group that only you are in and using that to gain root access to the app. To do this start by opening System Preferences and going to Users and Groups. You are going to want to make a new group by selecting the '+' button at the bottom left of the window. Go ahead and create a new group by the name 'HostBuddy' Without the quotes like so:
Next you need to set yourself as a member of this group like so:
Finally we need to do some work within the terminal. Go ahead and open up Terminal.app and navigate to where HostBuddy is (probably /Applications) like so:
After doing this we set the setuid bit for the application itself under your group name and set permissions with two more commands like this (remember it is cAsE SenSiTIve!):
This should allow you to click and run the app as root without needing a password. Since we added a group to the mix this also means other users on your computer do not have that privilege. They must enter a password each time. Only your particular user (or others in the HostBuddy group) get a password-free experience.
The app itself must support the "While Using the App" option. If it doesn't, then as you have discovered, your only options are "Always" or "Never".
Presumably you would only want to allow this app to access your Location for geofencing-type reminders (e.g., offers). If so, you have to pick "Always" and you are at the mercy of the app to some extent with regard to how often it gets your Location, and how it is used. iOS 8 apps, even when terminated and even with Background App Refresh off, can still have certain Location service events delivered to them by iOS :
- significant location change service
- region monitoring service
- visit service
The only other option is to deny Location to the app using "Never".
Apple's Core Location Manager reference is here: https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManager_Class/index.html
Best Answer
Technically it is no problem to "block" the user by for example showing a page with instructions to give permissions for location services to proceed.
Legally, it is not so simple. You should read through Apple's App Store Review Guidelines for detailed instructions.
Especially they point out that the developer must not arbitrarily block the user from using the app, if they haven't given permissions for locations for example. If at all possible, the app should allow the user to use the app without giving the permission - for example by entering an address or position manually. However, if the entire purpose of the app is defeated by not having access to location services, then it is okay to tell the user that the app is not usable until permission is given.
Note however that it is not permitted to restrict access to the app based on the actual location. I.e. you cannot make an app that works in Washington, but automatically shuts down when in Houston.