No language is going to produce quality software in a project implementing too much functionality with too few resources. The Go and Rust "safe systems language" hype is strong right now so the language choice is being attacked. The core cause is much simpler to explain.
Systemd (the project) is complex, broad, and deep in scope. It takes a lot of time and effort to arrive at a quality implementation of something like that.
I fully expect the majority of the systemd code to be rewritten, even if the language doesn't change. What we have today is a usable prototype.
When everyone is satisfied with the architecture, feature set, and configuration schema of systemd, after the dust settles, this is all going to be revisited, if there are any users left to warrant it.
There's much work to do, and I bet many of you reading this thread could contribute to getting systemd to where it needs to be. If you use Linux, and can code, clone the systemd repo and start helping!