The hate towards systemd stems from a fact that it tries to do so many things -- which is clearly against Unix philosophy. Also, it has 1.2 million lines of code. It's massive for an init system. It increases the chance of potential bugs which can be exploited.
You're willfully conflating the systemd project repository with the init system.
I use systemd the init system, but in-tree components like resolved and networkd have never run on any of my machines.
Surely you can understand that a monorepo with code reuse across myriad components has its advantages, and that systemd the init system can be just a subset of that tree.
One can argue the systemd project is simply following in the Linux kernel's footsteps here. It too is a monorepo chock full of all kernel functionality one might ever need, with the expectation that use cases will pick and choose what snowflake suits them best.