#ditto has multiple clients including nostr and mastodon clients
You, dont have to use ditto, you can build your own. But ditto is the only solution that has been largely accepted, welcomed, and funded by the community.
You are welcome to make your own solutions But, those are all hard things to achieve and took a lot of work. You have to figure out whether you want to do that work, and take the (quite high) risk that your solution is rejected by the community. Most things are, because there's a rule of having only one way of doing things.
I agree modularity is a good thing. All depends how much work you want to put in, whether you want to reuse or recreate a solution, and what your use cases are. For myself, I've gone the modular path, and will reuse ditto as a component in a bigger picture.