Why do we need a more modular design at this point?
because it turns out software developers make mistakes when defining apis and behaviours, and having a way to replace a bad component with a better one is always preferable.
could systemd replace some of its components with some others within itself ? yes. but being modular makes experimentation into potentially better models much easier, and therefore, improvement of the general system also easier.