Simply put, the property Humanoid.Jump still sets itself to true (and back to false) even when disabling HumanoidStateType.Jumping with Humanoid::SetStateEnabled().
I created a blank and uncopylocked place with a single script in StarterCharacterScripts for you to check out.
As @woot3 mentioned I think this is an unfortunate result of how these things work on Roblox’s C-side. As far as I know SetStateEnabled only allows you disable or enable the character from entering a certain state. This means that if you were to disable the state a character is in at the moment they’ll stay in that state. It also means that you can still correctly set the pre-conditions for a certain state change to take place, which is the case with jumping.
I think the ControlScript simply binds the space-key to setting the Humanoid.Jump property to ‘true’. Roblox’s back-end or the ControlScript listens to Humanoid.Jump == true to change the Humanoid’s state to jumping (which does not happen when you disabled the state). When the Humanoid.Landed event is triggered the Jump property is set back to false. So if you were to disable the jumping state, the ControlScript ends up setting Jump to true but ‘Landed’ is never fired which means the Humanoid.Jump property stays true.
Although this isn’t 100% a bug, I think the ControlScript should be asjusted to check for :GetStateEnabled(Enum.HumanoidStateType.Jumping) before jumping if it doesn’t already.
(I could be completely wrong btw, I didn’t do my homework for this response/post)