Briefly reading through your conversation I think somethings were conveyed incorrectly. Access to my location is just that, it allows apps to access some way of determining your location. That could be the Google service or GPS. The app requesting your location usually only looks at one or the other. Some may look for either or both, but I think it's usually just one or the other. The way Google determines your location is based on where your connected to the network. How many towers you are connected to and your signal strength between those towers or your WiFi connection address and it's location. This is more of a rough location. It roughly guesses where you are based on these several factors. GPS on the other hand is a fine location. It is based on where you actually are physically. Looking at your OP it sounds like your weather widget is only concerned with your rough location, because weather is a regional thing it doesn't need to know precisely where you are located. Chances are the devs of the app assumed that, as you mentioned, people would be concerned with battery usage and draws on resources, and they would likely have one of the location services turned off. For most that is the actual GPS because it uses more power and resources than the Google location service to provide location information. Why is this, because you are normally connected to towers or WiFi anytime your device is "ON" in order to use the device. You don't need GPS for your phone to make calls, receive email, or text, but you do need towers and/or WiFi for those things. So it's just tapping into something your phone is already doing and must do to function.
If you want to save battery and you are concerned about so many hits on your widgets (weather or otherwise) my suggestion is to just leave the Google service on, it's not that big of a hit, and instead change how frequently your widgets update. For example I use weather bug, I don't use the widget just the notification display, but it still updates every so often. What I've done is go in and changed how frequently it updates from every 30 mins to every 6 hours. I'm not that concerned about the weather except a couple of times a day, mainly when I have to leave. I believe there are also options of every 2 hours, every 12 hours, and once a day. Most widgets will automatically update when the device is powered on and then fall into whatever frequency they have been set to update. I would imagine most widgets have an update frequency that can be set. Most but not all. You can change the update frequency for other apps too like email, and Facebook. This way they place less of a demand on your battery and your resources. Plus changing the frequency to save power is a heck of a lot more convenient than opening menus and looking for settings to keep something off to prevent it from using power only to have to turn it on and off a half dozen times a day for a second. You can have functionality and continents by managing the apps more and the device less.