Why in spectral clustering number of eigen vectors is same as number of clusters that we want?
Theoretically, log2(k) components could be enough.

But usually clusters are not that well balanced, that you could get all 2^l combinations of eigenvectors stable, usually one will mask the other.

If you go back to the theory of spectral clustering, you'd have one eigenvector for each connected component. Now the clusters are unfortunately connected, so we don't completely get this ideal situation, but you'd expect one eigenvector for each "almost component", too.