What’s likely happening @bjochym is that the contact is enrolled the first time, the deal is created, but they aren’t un-enrolled or removed from the workflow by completing it, so when they meet the trigger criteria the second time, they aren’t enrolled again because they are already in the workflow.
As @franksteiner79 mentioned, you are using a filter criteria instead of an event filters for your workflow triggers, using an event filter and activating re-enrolment for the event of the form submission will re-enroll contacts.
Re-enrollment is a bit trickier than it sounds when you use filter criteria, because you have to uniquely identify when they should and shouldn’t be in the workflow.
It’s usually easier if you create a pair of workflows that work together, in this case you might need 3 so you can loop them through the second and third.
workflow 1 = what you have now, also sets the custom property outlined in workflow 2
workflow 2 = what you have now, but an additional trigger that they are included on the static list you’re adding them to as part of workflow 1 and removing that step.
By enrolling in workflow 2, they are removed from workflow 1.
You also need to set a custom property that indicates they have completed workflow 2 (property = lead workflow status, options = workflow 1, workflow 2, workflow 3)
workflow 3 = same as workflow 2, with the trigger criteria added that lead workflow status = workflow 2
By enrolling in workflow 3, they are removed from workflow 2.
Set the property lead workflow status = workflow 3.
This will remove them from workflow 3 because they no longer meet the criteria of the value being set to workflow 2.
The next time they trigger the workflow by completing the form, they would enroll in workflow 2, and it would continue to loop.
Again, if you use the event criteria, it would allow re-enrollment without needing to build this out.