There are lots of homonyms but they are disambiguated by context. Look at it this way: you don’t need the characters when you’re listening to someone speak, so why wouldn’t you be able to sound out the phrase from pinyin and understand its meaning?
> There are lots of homonyms but they are disambiguated by context.
But wouldn't that lose something? My understanding is a lot of the puns specifically rely on the characters to force a different reading than the context would imply (or to evade censorship by having many ways to write the same sounds).