It's not mere availability of food. Obesity rates vary quite widely across OECD countries; the US is at 35%, France/Italy/Spain are at about 5-10%, Korea is below 4%.
Overeating is a stress response for a lot of people, and overeating often occurs among people in high-stress situations. The US is a country that tolerates a very high level of poverty, inequality, and insecurity, and this results in high obesity rates in some sectors. Obesity isn't the same problem for people who shop at Whole Foods and spend hours at the gym on weekends; it's a more severe problem among people who have to work a horrible job 60-80 hours a week to avoid really desperate poverty, live in decrepit housing, spend hours on neglected bus lines, and are physically insecure.
Where are your numbers from? According to Wikipedia's summary of a 2014 WHO report the US is at 33.7%, France is at 24%, and the major Anglo nations in between. There is not nearly the disparity between the US and the rest of the world you claim.
Those are good points. Heavy marketing of highly processed food that's loaded with fat and sugars is also an issue. Maybe also because that crap is relatively inexpensive.