(for me) it's your last two points: "well-tested", and "maintainable".
It's one thing to get the feature / bug fix in the current branch, its another know what well-tested means and to be able to do well-tested without assistance.
Maintainable - this one takes insight. Again, the more junior person just wants to cross the task off their list and move onto the next. Having insight into what is Maintainable (as it relates to the project / client / company) takes time.
Are your ordinary developers unable "to write modular, well-tested, and maintainable code"?