It is because data, unlike water or electricity, isn't a finite resource.
Your electricity bill includes the generation in the power plant and the transmission over the power lines.
When it comes to Internet access, you're paying for the transmission (bandwidth), but there isn't a "packet generation plant" that you should have to pay for.
Also, data caps mean people will use less data, meaning using less bandwidth, meaning ISPs will have less of an incentive to upgrade their already ancient infrastructure. It would be giving them more money to use less of what they provide.