Take a look at the geolocation services - you will see that they are all over the shop on identifying where your IP address is located. Most are rubbish, and I bet the ones that can get it right are expensive for the websites/apps that use them. So basically, your problem is that you are using a cheapskate weather service that refuses to pay for decent geolocation.
Set it manually.
Mine pops up all over the West Country.
The system on Yahoo is rubbish.
Its the nearest weather forecast station
You need to change your settings then it will
Its the nearest weather forecast station
Have you tried changing it yourself?