As long as everyone gets at least the level of seat they paid for, I don't see why this is unfair.
Someone who feels strongly about getting a particular seat can purchase that seat. That should guarantee a specific seat and allow travelers to guarantee seats together.
Someone who is willing to sit anywhere can purchase a Basic seat. That will give a chance of getting a good seat, depending on how many people buy more expensive seats, but will also give a chance of getting an undesirable seat if the more expensive seats are all taken.
This seems like a reasonable way to approach fares. People who want to be sure of their seat can pay extra for it. It does not hurt them in any way if other people paid less in exchange for not having a seat until right before boarding.
(If the airline changed the seats of people who paid for specific seats in advance to accommodate people who booked Basic seats, were upgraded, and now want to sit together, that would be unfair. But that doesn't appear to be what's happening.)
Sure, it would be better for passengers who like "better" seats if airlines charged less for those seats. Then more people might pay for upgraded seats and fewer people would get them free. However, airlines would make less money selling the same number or slightly more of the upgraded seats, which might lead to an increase in the cost of non-premium seats to result in the same profit.
They probably don't upgrade the regular fare passengers because they might not consider it an upgrade. I would personally prefer a standard aisle seat over an EE middle seat.
I agree. If I select a seat, I want to have that seat. Some people may welcome an "upgrade" but some people may have selected seats specifically to be with a traveling companion (who may not be on the same reservation, so may not get upgraded at the same time).