Because we have decades worth of existing software and existing standards which count on there being ports. We have standard ports for different software applications, we have changing port number on the same machine to reach a different service -- if we eliminated ports it wouldn't just replace IP addresses of one type with a new type, it would ALSO change lots of other things from the networking layer all the way up to the application layer.