Because he is black.
Well, actually, he is not "black". He is Mulatto and he stands out like a sore thumb next to his black Kenyan relatives.
If his skin was "white" (Caucasian color), and if he still called himself black, you could legitimately ask your question. But suppose Obama, with his black skin, called himself white. Imagine how much flak he'd receive from blacks for dissing his black genes.
What is it about the U.S. that legitimate biracial terms such as "Mulatto" or "Mestizo" are totally verbotten?
Why must everybody in the U.S. be classified as either a glass of milk or a cup of black coffee while everybody pretends that there is no such thing as coffee with cream?
What is wrong with using the term "white" or "European American?" Why not categorize Puerto Ricans and Dominicans, to say nothing of Obama, as mulattos?
My fellow Americans are generally very smart in most relevant areas, but STUPID when it comes to "race." We like it simple and incorrect.
Of course! Down here we might say that he is cafe au lait.