I too have been frustrated by the way open source works. Maintainers are frequently people in high demand and open source rarely pays commensurate.
So too have I given my work away and been met with entitled demands for service and time. I enjoyed writing the code and making something useful. I enjoyed the validation of that belief based on use but that doesn't feed the family or further my actual goals in life.
The world of software would be a vastly better place if the public had options to invest in software as well.
The distributive justice matters you reference are big problems. To answer your question: we can because they don't actually have all the power, we just don't find the will and not entirely without reason. If we used taxes to extract those funds they would likely be priced in so that the population is left funding them still. It would risk a privileging as suggested by a peer statement and the real solution has to be pretty systemic.
The problem is broad and something like we live in a society where the most privileged amongst us are happy to have a smaller pie so long as they get a larger proportion of it. Even if it's caused by ignorance, that doesn't keep it from being the case. It's also true that we have societal behaviors which reduce our productivity due to the injustice of things. We punish the sincere and well-behaved for the benefit of those creating asymmetric information and abusing others.
I don't think we should be surprised that this leads to bad results and things functioning less capably than they could.