The French names west of the Mississippi came from the French missionaries, explorers and trappers before Napoleon sold the land to the US in 1804. Some names maybe came later; there would have been French still around long after we bought it. Americans who moved into these places totally botched the pronunciation, and that became the name of the town. St. Francois (france-wah) became St Francis, St. Louis (Loo-ee) became Lewis, etc.
The Spanish names are mostly from the Mexican-American War in 1846-8. Veterans would return from that war and name new towns after towns they had been to in Mexico. A lot of towns in Missouri were named that way. They also liked to name new towns after famous places from history. So you get towns like New Madrid (Mad-Drid), Cuba (Cuber), Lebanon, Mexico, Bolivar, Iberia, La Plata, etc.
Fun slide.
You mean like Pier South Dakota? Spelled Pierre. Pronounced Pier by South Dakotans!