Obesity's definitely a factor, but other developed countries haven't seen the same level of stagnation despite their own skyrocketing obesity rates. For that matter, Americans also smoke less compared to most of Europe.
There's likely at least one other major factor, and I would assume that it's some variation of "inability to access high-quality care for financial reasons" given how much of a wealth disparity there is in various healthcare outcomes.