You cannot. It's crucial for Monad to be polymorphic in its parameter, so if a particular monadish thing only makes sense for monoids, it's not a monad.
For example, return :: Monad m => a -> m a. There's no way you can add an extra constraint to the signature of return.