From what I understand, there is initially a seed from which the private keys are derieved and from that the public key respective to each private key is derived.
Yes, if the wallet follows BIP 32 (hierarchical deterministic wallets), then this is the case. Some older styles of wallets will just derive random new keys, but this makes it harder to create backups efficiently.
The public key is essentially the wallet address.
Not quite: the public key is hashed to obtain the public address.
I (or the validators for that matter) can verify it by looking at the digital signature with Bob's public key.
Correct, the public key is included in the transaction data, so that the signature can be verified.
Note: you should be a validator (meaning, you run a node that checks to ensure transactions are valid), otherwise you're trusting someone else to do this. Miners work to confirm transactions, which is different in an important way.
What I don't understand is what is the use for having multiple private keys when just a single one can suffice?
If you only stored one private key, then you would only be using one address, which is very bad for your privacy (and the privacy of those you transact with).
I've read somewhere that wallets act more of a storage for keys than storage for Bitcoins, that's why the doubt
That is true. Bitcoins themselves are not 'stored in a wallet', rather, the history of them is tracked publicly, on the distributed blockchain ledger. It is just the private keys that allow some amount of bitcoin to be spent, that your wallet app will keep track of.
Also, if there are many private keys (=> public keys => wallet address) pertaining to each transaction, how does it become possible to trace back to the previous transactions as each has a different address?
Your wallet will be able to keep track of the history of your transactions without any issue, but third party observers will not be able to (which is the entire point! Privacy is important).