is there some technical reason why there must not be too many blocks / they must have a minimum size?
Newly found blocks need sufficient time to propagate through the network, otherwise miners will end up creating invalid blocks. 10 minutes was determined to be about the right amount of time to minimize invalid blocks.