We seem to have found a bug in monit-4.10.1, after having applied the patch for #21989 "Monit waits for do_stop() to finish and then calls do_start() ...."
monit is controlling 2 processes, both require additional checks before they can run, which are made in their respective startup scripts, so the start can ligitimately be actioned but fail.
One theory is that a start is pending (as a stop issued earlier was ignored when it had not started) and then another start is issued, both get actioned and both run.
I have a testcase written by a collegue if someone would like to tell me where to send it