How were the private keys for addresses like 0x0000000000000000000000000000000000000001 generated in ethereum? Surely they weren't made at random? Please let me know. How is it valid?
There is no known private key for that address.
You don't need a private key to generate an address. You don't even need any fancy software. Just write
0x and add 40 hexadecimal digits of your choice:
There we go, we've just created an address without a private key. Don't send anything to such addresses, because those funds will be irretrievably lost.