For some types of motors scaling this to 99% in your slicer will produce a tighter fit on the motor.
Added a second option with a fan guard printed into the model. Nothing fancy just something to protect fingers and fan.
No hardware is needed for this, just insert fan, 404011mm heatsink (mine came off ebay from china for less than $2 shipped - but 3 months for delivery) and press on the base of a NEMA17 stepper motor. Be sure to check for clearance all around.
On my printer I did not have clearance to use this solution on the y Axis motor- so I have added a side-mount cooler and fan-guard that I used. This side mount cooler is intended to be used with a heatsink attached to the base of the motor, I used the same 40x40x11 heatsink which left me with about 5mm of clearance from the desk with the X axis at its maximum.
After running these for almost 6 months i can say that heat is no longer an issue. With this setup the motors stay just a few degrees above room temperature. Previously the motors would get so hot you could barely keep your fingers on them. This was very effective at solving my heat issue, and has also solved my layer shifting issue (which as i suspected was related to heat)