Private key space is 2^256 but address space is only 2^160, so there are effectively 2^160 possible addresses. When you're creating a new address, what you're essentially doing is generating a random number between 1 and 2^160 (1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976). Due to how large this space is, it is all but impossible for the same number to be generated twice. Oversimplified of course, but that's the gist of it.