If we take for example bread wallet.
There is one mnemonic to remember, which means one private key?
But when you use the app, your public address constantly changes.
So more than one public key?
How is this possible?
No, there is not one private key. There is one Master private key. The master private key is then used to generate more private keys in a deterministic fashion, i.e. using the same master private key, you will generate the same private keys. Those private keys are what are actually used in your wallet. Their public keys are generated and the addressees calculated from there.
The mnemonic is an encoding for a seed value. That seed is then converted into the master private key. The specification for the mnemonic generation and conversion is BIP 39. Deriving private keys from a master private key is specified in BIP 32.