Ames, IA is lovely and flat. Home of Iowa State university, population is a bit over 50k, I believe, plus the college students. Lots of good cultural stuff, cheap ethnic restaurants, a great co-op, multiple good bike shops, 2 farmers markets, awesome bus system, etc.
There aren't a ton of dedicated bike paths, but the city is very bike friendly overall with lots of connecting less busy streets that you can safely ride on even with kids. Plus tons of students biking so people are just used to it.
Schools are good.
Iowa City, IA has many similar attributes, is larger (large enough for a costco, for example) but much more sprawl. But you could probably bus it out to costco.
Both are pretty cheap. Both are in the Midwest so cold winters, hot but not awful summers, flat (this is good IMO as I hate biking with hills). There is great camping and hiking up in MN, and it's a one day drive to CO for skiing and hiking. I grew up in Ames and would like to move back.