You’re right about most of that, and if you look at Japan it’s a similar situation with a similar outcome. It is however also not true that Americans have to take Spanish, they could just as easily take Latin.
That depends heavily on where you go. My high school only offered German and Spanish. I think a few years after I graduated they added either Japanese or Chinese, though that's because our school district was growing significantly year over year.
If you're not in a large school district / large city, your options as a student in a public school (and most private ones) are quite limited indeed.