Ma niece est blonde. My niece is blond-haired.
The answer says not blond-haired , but fair-haired ! Why blond-haired is not correct?
"My niece is blonde" or blond-haired should be a completely acceptable answer. Though "blonde" can mean fair-haired, it can also very well mean blond-haired.
'Blond-haired' actually sounds a little odd, because the only other thing that ever gets called blond in English is beer. It is close to being a pleonasm.
As iVixey says, 'my niece is blond' is fine (blonde also OK). I am not sure that it should be marked as incorrect, but for your purposes, just use 'my niece is blond'.
It seems unnecessarily verbose, but it should be accepted. When it comes up again, report it.
I'm not sure why you'd bother with either - surely the natural answer is 'My niece is blonde.'