You haven't written anything I can show to be factually inaccurate. But the trouble is with one word: "simply."
Unless you subscribe to a metaphysical interpretation of human behavior, the fact that obesity is such a widespread health problem is ipso facto strong evidence that some set of environmental factors is at play.
The insistence that this large population of people bear some kind of personal responsibility for their condition completely misses the point and is, in my opinion, an obviously useless suggestion to make. I'm not aware of any evidence that instilling a sense of shame in people who are obese is likely to ameliorate their condition, and the experience of many would seem to suggest it is likely to have the opposite effect.