There have been a few Tweets and posts on this, the latest of which was by John Sutcliffe. It rather sums up the issue. Certainly, any person, with the right characteristics, could become an effective Scrum Master.
What I think makes it hard for people in various roles are the expectations for their role which already exist when they seek to become a Scrum Master. Some of those expectations are their own while some come from their peers, managers, subordinates.
Sutcliffe mentions "guiding, facilitating, understanding, trusting, leading" as traits needed to be a Scrum Master (specifically in the context of a manager). If someone demonstrates these traits, then others will already have an expectation that this is how the person functions, so they will be more willing to "let" that person be a Scrum Master. That is, they will more readily accept that person in a Scrum Master role since they will already have some belief in that person's fitness for the role.
What can make it harder for a person in an "authority" role to become a Scrum Master is that they may have been more directive (even if benevolently) than a Scrum Master should be. They may be used to being an authority figure, being a person to whom others defer for decisions (organizational or technical). That can be hard to get away from because the person and others are used to expecting that.
To remove this from just the question of managers being Scrum Masters, I have seen lead technical folks have trouble in the Scrum Master role as well. Their problem was the feeling that they were "giving up" what they liked about their former role, to become a Scrum Master. What they liked, what they had been rewarded for, what gave them a sense of contribution to the organization, was making the decisions about and directing the technical work. Being hands-on as a technical lead was how they defined themselves and how they had been defined by others.
Analysts sometimes have an easier time than technical leads, but if they are more technical than business Analysts, they may have the same "withdrawal" concerns.
What I think should be clear when it comes to whether a person can be a Scrum Master or not is that:
1. They have been given a good idea of what the Scrum Master role requires;
2. They are not led to believe the Scrum Master role is "a way to get management experience";
3. They voluntarily take on the role, i.e., are not volunteered by others.
I have seen all these things happen to the detriment of both the Scrum Master’s experience and the team's. Were any of these disasters? No, people rose to the occasion and did their best given the circumstances. Unfortunately, that, plus limited training in agile generally, made it easier to think things were going okay.