I think part of it is because the gap between the skill floor and ceiling is absolutely gargantuan. Unions work best when the skill gap is narrow, and ascension to different levels easily measurable.
The more I think about it, software engineering is almost completely antithetical to the idea of unions. Traditional engineers have so much structure around their fields because the laws of physics govern a large part of their craft. Not so with SE.