I'm pretty sure there are plenty of fields where the output of your best and worst employees don't differ dramatically. Worst is generally some passable minimum not someone who refuses to do the job entirely. For plenty of assembly line jobs, your worst employee has similar productivity to your best employee because there is no ability to make the assembly line faster for the more productive person.
In code on the other hand, your best employee can straight up do things your worst employee can't. The differences are much larger. There is a reason people hire Principal Software Engineers, but most IC roles in other fields don't have the same range of seniorities.
I've been doing software professionally for about thirty years now, and what's interesting to me is that the conversations I had with my grandfather about factory work involved all of the same dynamics. Prototyping new solutions versus consistent reproduction of known solutions? People who only understand their own tasks versus those who have a holistic understanding of the components, the process, and the final product? Troubleshooting unexpected failure states in complex systems and fixing mission-critical problems that can make or break the business, versus checking out when The System Breaks? Conflicts between book-smart college grads and grizzled vets who know how things "really work" under the hood?
Those are the stories he told me about working in a factory, and frankly the lessons I learned from him were just as valuable as any "fifteen lessons for software architects" books our industry has produced. Sure — software is unique! So is food, so is metal, so is film, so is concrete…
People don't deserve unions because they're 10x workers. People deserve unions because they're workers.
I think a working model of a technology union would have to work closely to professional sports unions or acting unions that support wide disparities in pay. I think historical tech opposition to unions is people not wanting the idea of a standardized wage and extremely high job security (which acts as a downward force on wages). Many people look for something like the Netflix model where you're expected to move on if you're not producing lots of value, but you get compensated more for it. The thing about having 10x engineers being possible is that everyone thinks they are above 1x and deserve above average pay.
In code on the other hand, your best employee can straight up do things your worst employee can't. The differences are much larger. There is a reason people hire Principal Software Engineers, but most IC roles in other fields don't have the same range of seniorities.