::
It’s all through the magic of BIP-32.
Trezor doesn’t actually store a „private key“. The right term for the mnemonic seed is a „secret“, because it is, well, _secret_, but it’s not a _key_ to anything.
To get the actual private and public keys that you need, Trezor _derives_ them from the secret. For a given _derivation path_ that looks like `m/44’/60’/0’/0/0`, Trezor takes the secret (here as `m`), calculates a `44’` derivation step, from the result it takes the `60’` derivation step, etc. At the end, you have the private key that you need.
For the same derivation path, you always get to the same key. If you change anything in the derivation path, you will get a different key. That way, you can make an effectively unlimited number of keys.
fwiw:
> I understand that every bitcoin wallet has a private key.
No, it’s every Bitcoin _address_ that has a private key. Your Trezor can hold many Bitcoin _accounts_, each of which has a huge number of _addresses_, so there can be hundreds or thousands of keys on Bitcoin alone. This has nothing to do with multiple coins.