The weather apps only update in a certain period cycle. Mine is set to 4hrs for example. If you went somewhere and the cycle hasn't clicked in yet it won't update YET. For example, if my weather app updated say 30min ago, then I traveled to the next town over an hour later, that would only have been 1hr30min, far from the 4hr update cycle I set, so it will still show the data from the previous city unless I stay in the next town long enough to wait for it to update. As far as I know, ALL weather widgets have this feature, just activate geolocation in the settings.
Anyway, what you can do is delve into the settings of the accuweather app and set the refresh rate from the default (1hr I think) to something faster, like every 30min. However this eats A LOT of battery. Another way is to get a third party app like Beautiful Widgets. It has a setting to refresh on wake, which means every time you unlock the phone, it refreshes the weather to reflect where you are. This would allow you to get the most up to date weather of your current location. However be careful as it may eat a lot of battery depending on how often you use the phone since it refreshes every time it lights up.