Because NAT. Most commonly used as port address translation (One-to-many NAT), so operates with TCP and UDP.
That is not only home router issue, mobile netoworks use sometimes Carrier-grade NAT (NAT444).
Any new IP protocol has problem with that, so nobody wants to implement something that is going to be broken for most customers.