Have a look at the following post and read the examples I posted to understand the logic behind.

suitecrm.com/forum/suitecrm-7-0-discussi...-date-now-mean#20710
Basically you should have only one condition and it should be something like:

due date <= now + 1 minute

However this may not work perfectly depending on the interval at which yoiu have set your cron jobs: if the interval is more that 1 minute (for example 5 minutes), the workflow may fire up to 4 minutes after the moment you were expecting it to fire!

To make it easier to go straight to the point, this is the part I refer to in that post:

a. We have a field called Due_Date and it is set at an imaginary date 15

b. Today is day 0

c. We want to create a workflow to send a reminder 10 days before Due_Date

d. We want to create a workflow to send a message 3 days after Due_Date

For Workflow c. we set our condition: Due_Date <= now + 10 days

. Since today is 0 the condition will evaluate to Due_Date (=15) <= now (=0) + 10 (=10). This statement (15 <= 0+10) evaluates to false so the action is not activated

Tomorrow now will be equal to 1 so the condition will evaluate to 15<= 1+ 10 which is FALSE

The day after tomorrow now will be equal to 2 so the condition will evaluate to 15<= 2 + 10 which is FALSE

After one more day now will be equal to 3 so the condition will evaluate to 15<= 3 + 10 which is FALSE

After one more day now will be equal to 4 so the condition will evaluate to 15<= 4 + 10 which is FALSE

After one more day now will be equal to 5 so the condition will evaluate to 15<= 5 + 10 which is TRUE so our workflow will trigger the action!

For Workflow d. we set our condition: Due_Date <= now - 3 days

We start over from the beginning so today is back to 0 so the condition will evaluate to Due_Date (=15) <= now (=0) - 3 (=3). This statement (15 <= 0 - 3) evaluates to FALSE so the action is not activated

Tomorrow now will be equal to 1 so the condition will evaluate to 15 <= 1 - 3 (=-2) which is FALSE

The day after tomorrow now will be equal to 2 so the condition will evaluate to 15 <= 2 - 3 (=-1) which is FALSE

After one more day now will be equal to 3 so the condition will evaluate to 15<= 3 - 3 (=0) which is FALSE

After one more day now will be equal to 4 so the condition will evaluate to 15<= 4 - 3 (=1) which is FALSE

After one more day now will be equal to 5 so the condition will evaluate to 15<= 5 - 3 (=2) which is FALSE

After one more day now will be equal to 6 so the condition will evaluate to 15<= 6 - 3 (=3) which is FALSE

After one more day now will be equal to 7 so the condition will evaluate to 15<= 7 - 3 (=4) which is FALSE

After one more day now will be equal to 8 so the condition will evaluate to 15<= 8 - 3 (=5) which is FALSE

After one more day now will be equal to 9 so the condition will evaluate to 15<= 9 - 3 (=6) which is FALSE

After one more day now will be equal to 10 so the condition will evaluate to 15<= 10 - 3 (=7) which is FALSE

After one more day now will be equal to 11 so the condition will evaluate to 15<= 11 - 3 (=8 ) which is FALSE

After one more day now will be equal to 12 so the condition will evaluate to 15<= 12- 3 (=9) which is FALSE

After one more day now will be equal to 13 so the condition will evaluate to 15<= 13- 3 (=10) which is FALSE

After one more day now will be equal to 14 so the condition will evaluate to 15<= 14- 3 (=11) which is FALSE

After one more day now will be equal to 15 so the condition will evaluate to 15<= 15 - 3 (=12) which is FALSE (by the way this is the Due_Date but the workflow is not activated yet!)

After one more day now will be equal to 16 so the condition will evaluate to 15<= 16 - 3 (=13) which is FALSE

After one more day now will be equal to 17 so the condition will evaluate to 15<= 17 - 3 (=14) which is FALSE

After one more day now will be equal to 18 so the condition will evaluate to 15<= 18 - 3 (=15) which is TRUE so the worflow will trigger the action

Sorry for being so long but I hope you understood the logic of using Now and a due date.

Now obviously refers to the date in which the workflow is run. This happens everytime the cronjob runs the workflow task.

I hope this was useful to clarify your purpose.