That is IMHO a much more realistic view. Conflating management with technical leadership is a sure path to bad things happening. Certainly some people can do both, but for any given project at any given time, everyone should know what their current role is.
To answer the original question, I think you can sum up the cause of a lot of programmer fatigue very easily: they got into programming out of a desire to create things, and they found themselves surrounded by a (bad) organisational culture where they instead spend their work time doing anything but create things.
It's not the need for a degree of administration and management that is the problem. Most programmers understand this, and will happily go along with it when it's helpful for the project as a whole. Nor is it the need to create something that serves the needs of the project, even if that isn't the most fun job to do right now. Again, I think most programmers understand that if you're working as a professional then you're being hired to make something that is useful/valuable for someone else, and as long as what they're making is in that category it can be satisfying.
But most programmers are also acutely sensitive to overheads that are unhelpful and requirements that are unnecessary -- not that they really need to be if they're at the kind of shop where those overheads take up most of their time. Geeks will rapidly lose enthusiasm in the face of uninspiring leadership, lack of project progress, and generally incompetent management, and often I suspect it really is as simple as that.