1 000 000 bytes / 1024 = 976,56 bytes
So current (EDIT:) maximum blocksize limit is 976 kibibytes or 1000 kilobytes. That is the source of "976".
But not all mines will always produce maximum blocksize blocks. Some even mine empty blocks. It has always been this way and it probably always will. And they have right to do so.
By the way, that is the reason why blocks are full right now. Because there will never be a situation when all blocks are at 1MB, because some miners always mine smaller ones.
You are right. This is why the block 395783 has 974.8271484375 KB
They packed it full of some transactions, it's not exactly full but it's obvious that all these miners respect the 1MB limit.