This is not a comparison of 1 million concurrent tasks.
For a bunch of these tests, it is measuring 1 million tasks multiplexed onto a smaller number of os threads.
In many implementations the cost of concurrency is going to be small enough that this test is really a measure of the stack size of a million functions.
There is sometimes a distinction made between concurrency and parallelism, where "concurrency" just means the programming interface looks parallel but is allowed to use out-of-order task-switching under the hood, and "parallelism" is real-deal usage of CPU cores. Both ways of looking at things are useful in different situations.
For a bunch of these tests, it is measuring 1 million tasks multiplexed onto a smaller number of os threads.
In many implementations the cost of concurrency is going to be small enough that this test is really a measure of the stack size of a million functions.