The problem with your suggested route is that I'm sending a different email for each condition (they get slightly more annoying the closer you are to expiration).
I see you are using a different property in your suggestions, PasswordExpiresDaysLeft. I am using "if the user password will expire in less than X days", which is why I am getting the multiple emails firing on each separate task. I'm also getting the email sent daily, which isn't the intended result. I want 1 email at 14 days left, 1 email at 7 days left, 1 at 3 days left, and 1 email at 1 day left.
If I maintain my 4 separate actions, and switch the condition to PasswordExpiresDaysLeft, can I achieve my result intended result, or will I still have overlap?
I also have a task that sends an SMS "if password has expired". The intention is for this SMS to be sent only one time, but I now see it's sending it every day when the task runs. Is there a condition I can use that will cause this to only be sent once?