No it doesn't have to be unfair. If all three hats are of the same colour then every "wise man" is in exactly the same position as the other two with regard what they can know, and thus what they can logically conclude.
It's unfair because the fairness of each hat being the same color means each of the three has an equal chance of guessing the color of their own hat. Having been told there are two colors without additional information means they each have the same chance: 50/50 of guessing.
Only when they know that the hats are not all of the same colour do you introduce any unfairness into the equation, such that only one can conclude which colour they are wearing,
But they aren't told the hats are all the same color. They only know their own hat is red or white, apart from what they can see.
You are also assuming that he has reasoned that the King has not made all three wear the same colour hat, but on what basis do you make this assumption? Certainly nothing in the setup that you detailed.
He reasons this because he also reasons the king isn't playing a trick on them, and he also reasons that the other two can't decide, based on what the king has said and what they can see.
If you say there is at least one red and one white then the test isn't fair,
I don't say that, nor does the king.
Not true.
Let the guy who keeps his eyes shut be A, and the other two be B and C.
Assume that B and C both wear a red hat.
B and C will both see a red hat plus the hat colour of A - so both will see either two red hats, or a red and white hat.
A will see two red hats.
Since the only proviso is that there is at least one red hat, and each sees at least one red had, irrespective of what colour hat A is actually wearing, then none of them can say with certainty what colour hat they are wearing.
It is true.
A keeps his eyes shut and reasons thus: that at least one hat is red, and the king isn't playing a trick on three wise men. Also he assumes the other two have their eyes open.
Suppose there is one red hat, then the first man to see two white hats knows his own must be red. This gives one of the three an unfair advantage (the king wouldn't do that, he reasons). Suppose there are two red hats, then there are two possibilities: he will see two red hats or he will see a red and a white hat. Because there must be more than one red hat (otherwise it's unfair by the previous reasoning).
If he sees two red hats but is wearing a white hat, that gives the other two an advantage he doesn't have, likewise if he sees a red and a white hat then one of them is disadvantaged and the test is unfair.
Therefore he has to conclude, given the king has set a fair test and there is at least one red hat, all the hats are red.
My version removes the information "there is at least one red hat". Does it still fly and can it be a fair test? I think it still can because all three can reason the same way, eyes open or closed. They now only have that the test might not be fair and the hats are white or red. One man keeping his eyes closed "fairs up" the otherwise unfair situation.
Fairness and balance aren't the same thing. The test is fair if each contestant has the same chance, knows the same information, etc. But a balanced test needn't be fair.
So without the information "at least one hat is red", the test isn't less fair since each man has the same chance, of guessing, of reasoning with what they do know or assume (reasonably!).