how can the addresses of all those currencies be determined by just 24 words? The math escapes me.
A single word randomly chosen from a list of 2048 words provides 11 bits of entropy (2^11 = 2048), so 24 words provides 264 bits of entropy. These 264 bits can be used as the
seed for a cryptographically secure pseudo-random number generator (CSPRNG). The CSPRNG can then be used to produce an arbitrary amount of public/private key pairs. A good CSPRNG has the property that it is computationally infeasible, given only a subset of the outputs of the CSPRNG, to determine the state of the CSPRNG or other outputs of the CSPRNG. This is how it is possible to "stretch" the original 24 words to produce an arbitrary number of addresses.