Because you need some way to find communities/users. You can either do it the TOR way (AKA give everybody a keypair and treat base64-encoded public keys as addresses / handles), but those addresses aren't human-friendly and are hard to remember.
You can go the DNS way and have a centralized registry. It may be hierarchical and/or distributed, but it's fundamentally still centralized.
You can go the free-for-all way and allow anybody to register any handle/domain under any public key. This works for closed networks with trusted participants, but on an open network where name registration is at no cost, a profit-seeker will inevitably register all the names for themselves and try to sell them, probably at somewhat extortionate prices.
The only way to deter profit seekers is to introduce a small cost to register and maintain a name. You need fees to be high enough for most names to be unprofitable to snatch, but low enough to still be affordable to a vast majority of users. The only way to collect fees in a decentralized manner that we know of so far is via a blockchain.
The crucial realization here is that, with a human-friendly naming system, there's always going to be a cost to acquiring a name. It may come from the designers themselves or from the people who got all the names in a gold rush, but it's always going to be there. The cost doesn't necessarily have to be financial, many centralized system require scarce resources (e.g. phone numbers or human attention to solve captchas) to squat on.