I will agree with you on the re buying being a needless hassle that we are being told to do by SE, but It still makes sense in a retrospect to charge for the PS4 and Steam versions separately as far as SE are concerned they are 3rd party systems, Steam runs on any and all computers and may be using the Mac port to make it multi platform as well, but this isn't a computer owned by the player this is a computer using steam. if SE wanted to ignore steam we would be using PlayOnline still as you have to use that to access FFXI.
with a monthly subscripton to say that they are getting money from everyone is ignoreing the fact of people paying in bulk, this also ignores server costs, costs of employee's the internet costs on there sides (housing a MMO costs a lot due tot he massive upload speed required), if you take out the factor of all costs they have to cover it may still equal a profit but not enough in the eyes of SE or there accountants to cover the costs of essentially making a 3rd game of the XIV series (which is what expansions are),
Now do not get me wrong i do agree with it being bad to charge PC players who play on MAC and having to buy for that is a harsh move,
but buying it on PS3 or PS4 Or steam is another, they could of done as someone above said, have it as a account wide buy, (which i wish they did) but that move is one done by SE's marketing, accountants and retail team, a decision they most likely chose due to the higher profits.
now look at wow, as well, if one computer has lets say warlords of Dr** (cannot say full title) you only have a limited amount of re-downloads this means that after that meny downloads you may be forced into buying a new code for the game, or having to explain why you installed it on so meny computers. SE did not do this as you pointed out, what blizz get away with is far more expensive then what SE has chosen to do with its free download on any computer. plus, once you have heavenward on PC you can do the same, just not on a PS4 (which you have to buy from sony) ps3 (ditto) and steam (Valve) as for the mac, i do not understand there choise there.