Remove monk speed feat either from 2DA (won't affect old monk chars) or via NWNX.
Messy? Well it is certainly expanded to multiple events which may be messy, but I don't see a problem. To script your own speed, you do need to apply/remove the effect in OnEquip/OnUnequip and then re-apply in case of resurrect (both from respawn and res spell). When character first enter a module he re-equip his gear so you do not need to do it in OnClientEnter.
Haste stacking is not so easy to do, you can remove this effect if character equips something with Haste property, but its is more difficult to do the same for haste effect from spell...