ATproto has some interesting advantages, and eventually the idea is for anyone to be able to host any microservice component of the network, including relays other than the one run by Bluesky.
The relays don't need to be centralized. They are indexers that provide functionality to others parts of the ATproto network.
The problem is that there isn't really any incentive to do so... Any additional instances or new apps running ATproto can just rely on the one big indexer provided by Bluesky, instead of running each microservice component themselves.
But they don't need to be. They're essentially just indexers.
If two relays index all the same content, then any services using either will be "interconnected" in the sense that any users can see each other and interact with each other.
Each relay host can choose what parts of the network they want to index, and as far as I can tell, any services could use multiple relays if they like.