I see no problem with developers becoming managers in theory. But something goes wrong in that transition. Management skills are just like learning any other skill. Skill-learning is something that developers (or the good ones) typically excel at. So why can't developers learn management skills?
My first step was taking up managing courses, and an MBA adapted for technology (MMOT).
I believe I've learned a lot of management skills and that they will help me when I make the jump, but I also agree with crasshopper that "empathy, listening, communicating clearly/fairly, inspiring people, making people feel valued" and other "soft/people" skills are skills you don't learn either as a developer or in management school.
So, my answer would be: developers can absolutely learn management skills, but some of them aren't taught in classes.
That also makes it harder to break into management (haven't succeeded yet, employers want people with experience, over qualifications)
But so many management skills -- empathy, listening, communicating clearly/fairly, inspiring people, making people feel valued -- are orthogonal to programming knowledge/skill.
Maybe I'll never be the natural that some people are but, with hard work and forcing myself out of my comfort zone, I am doing a good enough job.
Not saying I agree with the OP on that front.
Many developers aren't good with people. It's the reason they got into development in the first place. Personally, I spent my teenage years in front of a computer 99% of the time.
I'm now in my 30s and it took me years to acquire good people skills. I could be a manager, but I'm running my own company instead, which utilizes all of my skills.
This is very wrong. They required very different skills and personality. Promoting a good developer to management role may hurt the developer himself and eventually destroyed the project/team. My personal experience though.
From my experience I think the issue stems for looking at management as the next rung on a ladder. A good developer might never gain or want the experience needed to make her a good manager. A manager might never learn what it takes to be a developer. But the idea of moving up to management ignores the real issue.
Management relates to handling people and handling projects. If you can't deal with people enough to understand how they fit into your project you manage poorly. If you can't manage a project well enough to use the people you have, then you manage poorly.
The skills to manage, and the skills to be a developer/engineer/designer/widgeteer seem, to me, orthogonal. I could write code for ten more years and never learn a thing about management.
The best run tech project I ever worked on involved a PM who could still remember the Great Depression. She had the ability to ask the right questions and had a clear picture of how to move the project forward. The worst managed projects came from the PM who used to code.