Honestly I am thinking that weighted average is the explanation here.
Simple average wont represent the data well, cause you can have many blocks stacked in short period with low diff.
In other words taking all blocks from last 24h and calculating simple avg is not good or wanted.
It matters how long each difficulty period was mined for.