If I understand things correctly - we can use 12 mnemonic words to generate a private key. Having 2048 possible mnemonic words it means that there will be 2048^12 possible states. Private key is 256 bit number so it will be 2^256. I have queried wolfram alpha against difference between these two numbers and it seems that private key space is greater (https://www.wolframalpha.com/input/?i=2%5E256+-+2048%5E12) so how is that possible that it is safe to derive private key from mnemonic words?
The BIP 0039 specification says that for 12 words you get 128 entropy bits and 4 bit checksum.
So with 12 words you get 128 bits "security" and with 24 words you will get 256 bits "security".