By definition, a charging foul cannot simultaneously be a blocking foul, and a blocking foul cannot simultaneously be a charging foul. Right?

Not really. While we were looking through the NBA rulebook, we came to this rule regarding double fouls:

(Section VI, Part F) If a double foul occurs as a result of a difference in opinion by the officials, no points can be scored and play shall resume with a jump ball at the center circle between any two opponents in the game at that time. No substitute may participate in the jump ball.

So there's a rule that if the officials disagree on a call, both calls stand and they restart the game as if nothing happened. Despite the fact that it was technically impossible for this play to be both a block and a charge, this "disagreement clause" (as we'll call it) resulted in a technically correct double-foul.

That is weird.

Typically when officials disagree, they huddle together, discuss the play, and then make a ruling on way or the other. But according to the rules they don't have to make a definitive ruling. It's written into the rulebook that they can agree to disagree!