I have read that power of a periodic signal is calculated for a single period (correct me if am wrong). So why can't we calculate energy of a periodic signal for a period and say it has finite energy. Why this is not the case ?
Your assumption is incorrect. One cycle of a periodic cycle does deliver some amount of energy. Power is energy per time, so the power the signal is delivering is the energy per cycle times the cycles per second. Of course you can calculate the reverse too.
For example, if you have a 3 kHz signal that is delivering 17 W, then each cycle is delivering (17 W)/(3 kHz) = 5.7 mJ.