Give your users "Edit Items" permission as well. Since you mentioned that you do not want the users to edit the form you can either
Create another second list. Give users permission to edit the list 1 but not list 2. Use your workflow on list 1 to fire the email and also copy data from list 1 to list 2. You can secure the second list by not giving your users any access to it and use an app step to copy items from list 1 to list 2.
Add custom logic to the form to prevent user from editing the field (for example you can create two views: one to be shown the first time and the other non-editable view for other times) I don't recommend this, as this is a client-side solution and isn't truly preventing the user from editing the form data.
If you really do not want to change the permissions and create a second list, then instead of a list workflow, create a site workflow with 2 stages and you manually start it once. Add a workflow action to make the workflow wait till an item is added to your current list (this is stage 1). Then in stage 2, set it up to send the email. Then route the workflow back to stage 1. The process will just repeat.