I have also had the same type of location problem. When I unlock my phone my weather location shows up as Walnut, IA which is 1.5 hours west of me. I also can't delete the location as it doesn't show up as a location on any of my lists. If I try to find Walnut it doesn't even come up as a searchable city. Wierd.
I have the same problem with my locations showing up as Walnut IA and I can not figure out how to get it fixed. Like you, I'm 1.5 hours away from Walnut so not even close by it and there are several much larger cities right in my area. If you can figure out how to fix it, please let me know.
The location of the weather is based on the site of the tower. The tower you are hitting could have been given the name tag Walnut, Iowa.That is why that city shows up.
My phone had listed Allendale, just now switched to Marne. Sitting in the same place in my house I have also seen Coopersville, Polkton Twp, Tallmadge Twp.