Because of the incentives - what's the incentive for someone to become a "management assistant"?

According to your description it involves handling all the sh*t work that you don't want to do, but with absolutely no upside in terms of scope, power or authority. Presumably, you're willing to pay someone well to do this, but that only handles extrinsic motivation not intrinsic motivation. If you wouldn't want to get up in the morning to do it, you should doubt that anyone else would want to either.

Just look at your list:

+ Or they are mediators if there are conflicts in the programming team.

A job you don't want to do that involves smoothing the feathers of various angry people and their messy emotions. All mediation is terrible because you always land-up being disliked by 50% of the parties, and if you're truly blessed 100% of the parties. Your use of the word mediate is interesting because I think you mean "can't tell them what to do" - so that way you get to be disliked by all the parties and don't even get to solve the actual problem!

+ Or they serve as the bogeyman who explains to the customer why their idea for new "necessary" program features cannot be implemented this way.

A job that involves handling angry customers who actually pay for everyone's salaries. I don't know how many calls you've had to do with customers telling they can't have things, but members of the public can generally be quite unpleasant - particularly when they feel they've paid for something and they're not getting it. And, it likely puts that individual at risk of being fired if the customer says that they're not going to work with your company any more!

+ Or they help (instead of force) the programming team to arrange some roadmap for shipping the product (something unluckily few programmers like).

Sounds fairly tedious trying to get a bunch of people to agree by consensus some stuff that they just don't want to. And when "help" becomes that the developers believe the roadmap can't be done in the time-line the customer wants, what are you expecting to happen? Oh and the effort estimates the developers have for each step on the roadmap are probably 100% correct right, so we can be certain it can't be done. Because it's well known in the technology industry that technical effort estimation is 100% correct!

+ Or they help the programming team to understand what the customer really wants so that less time is wasted implementing stuff that the customer meant differently.

Seriously, the problem here is that why would someone else be any better at understanding the users requirements than the programmers - if you have an interface it automatically loses something in translation - developers should spend time with customers or be customers. Bottom line neither managers or developers are psychic! Again this is someone doing messy work that you don't want to do - you're definitely going to have to motivate me to do all of this!

Of course, these are often all part of management - but let me point out the first skill - being able to successfully frame something in a manner that makes an individual intrinsically motivated to do it .. your list would have a reasonable chance if you can understand these strange creatures called 'managers' :-)