SharePoint Designer workflows are not the best way to achieve reminder emails that need to be triggered by the passage of time (rather than being triggered by user activity). The only way to achieve it with such workflows is by having workflows constantly start every time an item is edited, and then pause until the reminder date.
That approach results in having a lot of workflows paused but in progress at any given time, which can impact your SharePoint environment's performance, and introduces more windows of opportunity for the workflows to fail (anything that interrupts the workflow timer service may cause in-progress workflows to fail).
A better alternative is to run some code on a regular basis to check the list for items that need to have emails sent out.
- If you're able to develop SharePoint custom solutions in Visual Studio, this could be a SharePoint timer job.
- If you have access to the web servers on which SharePoint is running, this could instead be a scheduled task that runs a Powershell script once a day.
- If you have a third party workflow product, such as Nintex Workflow, this could be a scheduled site workflow (instead of a list workflow).
- Any other solution which allows you to run a workflow on a schedule (instead of the workflow being triggered by list events) should theoretically allow you to achieve the same results.