@janla2112
My suggestion would be that you build off of your formulas.
For example, you have your email field, set the Visible property of the error message to the following:
!IsBlank(ExistingEmailAddress_Value.Text) && !IsMatch(ExistingEmailAddress_Value.Text, Email)
(no need for the redundant true/false in your original formula)
Also, you mentioned that your star label was set to the same visible as the message - I would think that you want the "required" star to be visible all the time.
If you have any other fields that need complex validation (beyond required), then do the same with their messages.
NOW, put a Toggle control on your screen. Let's call it tglValidForm. Set the Default property to:
yourFormName.Valid && !yourEmailErrorLabel.Visible && !otherErrorLabels.Visible
This will set the toggle true if the form is valid (all required fields are completed) and none of the error messages are showing.
Now, in your OnSave, you can set the formula to the following:
If(tglValidForm.Value, SubmitForm(SharePointForm1)
Finally, you can set the toggle control visible property to false, as users don't need to see it.
Also, I notice you have an isDirtyItem variable...if you are checking if the form has changed, you can simply utilize the Unsaved property of your form. It will tell you if it is Dirty or not.
I have a video on doing form validations and one on all of the properties and features of EditForms that might be worth reviewing as well for more hints.
I hope this is helpful for you.