Why do we need a genesis block?
I think your misunderstanding is in the assumption that the genesis block must be a block.

There is no need for that.

For all we care the genesis block is just a specific hash that is used as hashPrevBlock to identify block number 1. It doesn't actually need to correspond to an actual block. Modern Bitcoin software doesn't actually treat the genesis as a block at all. It's just a piece of data - and its hash is special.

So, no, there is no need for a genesis block. But there is a need for a genesis something - just to identify what the first real block is.