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. As such, the current increases linearly with voltage above the start speed.
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.