Does bitcoind generate address using the same private key from wallet.dat?
A wallet is not a single private key; it is an ever-growing collection of private keys.  Each address has a private key stored in the wallet.  Each time a new address is generated, so is a new private key.  This is even true for HD wallets, albeit the private keys are generated and stored differently.