Why do we need circular convolution?
I think your confusion comes from the fact that when we talk about "circular convolution" we are not doing a convolution operation in the frequency domain.  Rather we are multiplying the two DFT arrays together, element by element.

When we switch back to the time domain via an inverse DFT, we have effectively done a circular convolution in the time domain.