Well, the best explanation is that our brain does very, very hefty colour correction on its own. The reason is probably so we can ignore the irrelevant information, i.e. the light colour and any sensitivity lag between the different cones and identify objects.
If you've ever tried to do colour computer vision you will be *astonished* at how good we are at it.
Anyway, my guess is that the reason for this one appearing as two different things is it's very close to some threshold. It's possible to interpret it as more or less normal colours under a blueish light (i.e, sunlight), which makes you perceive the blueish grey as white. Or, you perceive it as blue under washed out much more orange light (e.g. incandescent bulbs) in which case you perceive the blueish grey as blue. The "white/blue" colour is objectively blueish grey if you check the actual hex values: it's mostly grey but the blue channel is a bit higher, but not by that much.
Our brains seem to model the complete co varying of the colours so once you decide what the light colour is, this effects the perception of all the colours. Black is nevertruly black and always reflects some light, so once the brain has decided the blue is super washed out by excessive light and that light is orange, that makes bright orangish things perceived as black since that's how black would appear under those circumstances. Given the rather good corrections of the picture, it appears those people are correct (though I'm on the white/gold side).
These two perceptions are very, very different and so it's kind of a binary thing, either you perceive one or the other. Now, I suspect that this photo is very close to the tipping point which is why some people perceive it very differently from others.
Either way, it's a fascinating example of colour interpretation.
This one is also excellent:
http://en.wikipedia.org/wiki/F...