When a job is submitted via WP Job Manager’s front-end form, the post passes two status transitions. 1: [post_status_after] : preview [post_status_before] : new 2: [post_status_after] : pending [post_status_before] : preview
So if your rule is listening on all those statuses, it will trigger twice on a job submission. The solution is to adjust your rule to only listen to one of the two transitions, e.g. from "pending" to "preview".