You are detecting Peak current and not Average Current as should be !! Where are your specs????
A BLDC fan acts like a resistive load ONLY when you average the current over a specific time interval such that there is no ripple in the Avg current measurement. As such, the fan current increases linearly with voltage above the start speed due to RPM fan load.
The storage Caps "can" provide most of the ripple current if rated you wanted that otherwise use your regulator for it and define a filter with peak ripple % vs f , as you like.
Yet your current sense amplifies peak pulse current with 10ms average which is too short an Tau or too little attenuation of peak/average current ratio. Therefore you need to know the pulse frequency and filter rejection at that freq to obtain an error of peak to average. Then understand the consequences.
If max RPM is 3600 = 60 Hz and current pulses are 2x = 120 Hz and you want current measured in 100ms to be 1% error max then you need a filter of -40dB at 120 Hz with a group delay of 100ms max.
Are these assumptions acceptable? Do you know how to design a LPF?
instead of your