Why should the number of subcarriers of OFDM system be a power of 2?
Implementing an IFFT and FFT engine which is a power of $2$ is easier in hardware and hence if an OFDM system is talked about, it is talked about in $2^k$ length FFT. All practical Communication system based on OFDM use $2^k$ length FFT-IFFT engines.

However, for OFDM in principle, it is not required to have FFT-IFFT in power of $2$.

There are different factors which may affect the choice of number of sub-carriers based on multi-path channel response in the frequency range of operation and maximum doppler spread the channel expect to suffer.