Here's a suggestion. As you know, the automatic system alters CPU cooling fan speed according to the temperature sensor inside the CPU chip. But the WAY it does that tends to be in significant steps, rather than a smooth series of small changes. I suspect it just happens that the temperature value for a change from one speed to another is almost exactly where your CPU tends to run. So the system is constantly seeing a need to change the fan speed for VERY small temperature changes.
So try this. Go into BIOS Setup where your CPU_FAN header is configured. One of the options for Fan Profile is to use a custom "fan curve" of fan speed versus measured temperature. This may be labelled "Manual" or "Custom" or something similar, OR you may simply have a graph to adjust. FIRST look at how the default Fan Curve is set. Now go to where the CPU typically is operating, and change the TEMPERATURE setting for that so that the change of speeds will be triggered at either a higher or lower value. This will let your system still adjust speeds when necesary, but avoid doing it so often.