> how do humans maintain a coherent mental model of a software system
This is the core question and it is wrong. Because it focuses on the software system rather than the problem you are trying to solve. A better version would be:
How do humans maintain a coherent mental model of the solution they want to create?
You need to have a picture of the whole process and everything related, not just your architecture and code.