It's actually for a very simple and logical reason.
In essence, convolution is the mathematical operation that inserts the effects of a "f" function in another "g" function.
In the domain of time we have f(t) and g(t). When we are dealing with temporal domain, there is a need for the order of events to respect the time they happened. That is, the future cannot precede the past.
For example, event f(t = 3) cannot precede the event f(t = 2), the temporal order must be respected, therefore, f(t = 2) precedes f(t = 3).
In this sense, if you will convey function f(t) with function g(t), one of them must be reversed so that the event f(t = initial) find the event g(t = initial) correctly at the beginning of the convolution .
Otherwise, if one is not reversed, you will have event f(t = initial) finding the event g(t = final) at the beginning of the convolution, which disrespects the order of temporal event of functions.
If you picture a sliding function over a stationary function (which is what convolution does), if the sliding one is not reversed (either of them, actually), you will convolute the present time for the stationary function with the future time of the sliding function, which disrespects order of time events. And in time domain you simply can't do that.
But, if the sliding one is reversed, then you'll convolute the present time for both of them correctly.
And that's why one function is reversed in convolution.