I don't disagree with your premise, but I also don't fully agree with it as a comprehensive explanation. Overeating seems to be a uniquely American problem, and independent of a nation's food security status. For example, the obesity rate in Japan is much lower than that of the US and I don't think that's due to them (a) not having enough food to over-indulge or (b) somehow having evolved a shutoff mechanism that Americans have yet to develop.
To me, it seems almost entirely explained by culture.