How many Ethereum address can be created using a single mnemonic for Ethereum using derivation path?
Technically, there is an infinite number of addresses that can be created from a single mnemonic following BIP39.
Practically, there is a per-wallet limit. Some wallets that use BIP39, such as MetaMask, will generate a large number of addresses. However, it is likely that they will not generate an infinite amount of addresses, as there will be other limitations to account for when rendering a large number of wallets/balances (CPU processing, on-chain lookups, etc.).
Diving in a little deeper, a path can have, at most, 256 elements, including the master. This limitation comes from the extended public key serialization format's depth field. This field is a single byte which means it only has 256 possible values. In this context, depth is the number of elements; basically the number of
/'s in the derivation path. The actual value of each element can be a at most
2^31 - 1.
Furthermore, wallets may implement what is known as a gap limit, which was introduced in BIP44. This is a way for wallets to guarantee that they are rendering and using only practical addresses and not being abused. Typically wallets generate addresses until they have generated
n unused addresses (known as the gap limit). The gap limit is not standardized and many wallets allow you to configure it. In many wallets, the gap limit is 20 keys, however this probably is not sufficient when restoring. In other wallets, it can be 100 keys, and others 1000.