Why this difference if halving happens after a fixed number of blocks?
Probably because different websites use different criteria for block confirmation, as we all know, halving happens when we reach a certain block. Other reason I can think of is timezone consideration.