They charge so much for it as a disincentive to use it for CDN purposes. It is not architected to act as a CDN for people, and if they don't overcharge for egress, people will use it as a CDN because it is easy.
It's dubious that they don't want you using S3 for one of the advertised use-cases but even if we accept that, the logic wouldn't apply to EC2 since there's even less of a chance of that impacting other users. Building your own CDN on EC2 isn't going to produce a different workload than many other activities which are actively encouraged.