You should configure your oscilloscope with the correct probe attenuation and scale so that it displays correct and consistent voltages. This will make debugging easier and save a lot of confusion - I spent quite a while figuring out exactly what you were measuring.
I'm not seeing obvious signs of voltage spikes here so I'm guessing there's already a flyback diode built into your fan.
The "nasty" measurement you showed on the MOSFET drain would make sense if there's a capacitor in parallel with the motor. When you turn the MOSFET off, the drain voltage slowly ramps up from 0V to 12V, which means the voltage drop across the fan is slowly dropping from 12V to 0V.
Flyback spikes occur because an inductor induces a voltage drop across itself in order to impede changes in current. In a case where there's no flyback diode, turning the MOSFET off instantly reduces the current through the circuit to zero, causing the voltage across the motor windings to skyrocket. In a low-side switch configuration, this would exhibit itself as a high voltage spike on the MOSFET drain.
However, with a flyback diode installed, the voltage at the drain should jump up toward the supply voltage almost instantly because the voltage drop across the motor windings is essentially clamped by the flyback diode.
What's probably happening is that there's a small capacitor in the fan somewhere. This could be as part of some onboard motor control electronics (fans are often more than just a motor with some blades attached) or it could be part of an additional RC snubber network. If you simulate this added capacitance (e.g. a 10nF capacitor and 1Ω resistor in series, placed parallel to the flyback diode) you'll see that the voltage across the motor drops to 0V over a period of a few microseconds, instead of instantly dropping to 0V.
In addition, switching at 12kHz is likely causing the motor current to "average out" in a near-steady state, which is probably contributing to the 40-100% behaviour you observed. Below a certain duty cycle, the inductance of the motor doesn't allow the motor current to drop quickly enough to have an appreciable effect. Lower PWM frequencies might be required to run the motor at lower speeds. Drop the frequency down to 1kHz or so and see what happens.
On the SQ2362ES you're barely turning the MOSFET on with a 3.3V gate drive. Looking at the on-resistance vs gate-to-source voltage graph from the datasheet, you've probably got somewhere in the region of 0.2Ω of Rds(on) with that gate voltage. The gate charge graph shows that you're only just going past the Miller plateau. The output characteristics graph also doesn't look good for 3.3V drive. A rule of thumb is to avoid operating a MOSFET at a Vgs lower than the minimum Vgs that the datasheet specifies Rds(on) for, which in this case is 4.5V. I'd recommend using a MOSFET gate driver IC here, or alternatively you could swap out the MOSFET for one with a Vgs(max) greater than 24V and use a BJT as a logic level converter to drive the gate directly from your 24V supply.
It isn't fully clear why your drain voltage is all over the place for the LED drive side of things, but you might be seeing a parasitic self-turn-on effect here. Usually this occurs when there are fast changes in Vds resulting in a capacitive divider effect on the gate due to the MOSFET's parasitic Miller capacitance. Essentially what happens is that turning off the MOSFET causes high dVds/dt (e.g. due to an inductive spike), which is conducted through the parasitic Cgd/Cgs, causing a temporary increase in gate voltage, which turns the MOSFET back on. The key factor for susceptibility is the Cgs/Cgd ratio, which on the SQ2362ES is quite low, making it more likely to be a problem. Given that you're running the MOSFET with a really low Vgs, these kinds of parasitics start being a problem, particularly if you've got noisy supplies or other transients going on at the same time.
The 20Ω gate drive resistors are probably unnecessary, given how little gate capacitance these MOSFETs have and how low your switching speed is. I'd swap to using gate driver ICs (they're cheap!) and follow their design docs.