The problem is that the people not paying for these externalities don't want to, have no incentive to, and are not required to. They lobby to avoid laws and regulations that would make them do it.
So meanwhile we have people dying due to air and water pollution created by people who don't want to pay for their externalities. FooCorp doesn't care if the country's health care costs go up because of that; they still make more money than they would if they had to pay for their externalities.
The economic argument doesn't work, so it's a little hard not to frame it as a moral issue instead.