I think you're misunderstanding the purpose of decentralization. We don't decentralize in order to keep communities small. We decentralize so that normal people, the non-billionaires, can host Lemmy.
Let me explain. It starts with a simple premise: social media owned by companies can and will enshittify. If not right now, then they will in the future.
From this premise, we conclude that the only way to produce a healthy, self-sustaining social media is by having the people own it rather than a company. But this leads to a challenge: only companies and billionaires have the money to be able to host large social media sites. A large site requires a large server, and that requires a lot of money.
The Fediverse sidesteps this issue by only requiring people to have small servers, to keep costs low. But then that introduces a new problem, which is that small servers can't host the sheer number of people required to promote discussions and communities. So, the Fediverse makes a second innovation: have the small servers communicate with each other and share information, so that as a collective, the sum of the small servers becomes large enough to host a healthy community of users.
We federate across multiple sites because if we were to all pile into a single site, it would overload that site, and the poor chap who's running the server would have a terrible day trying to keep the site running.
The issue you're noticing (having multiple communities of the same topic) isn't really the intention of federation. That issue is just because a bunch of people from Reddit tried to make the same communities all at the same time without checking if the community already exists. The expectation is that, over time, communities with the same topic will consolidate, exactly as you predicted.