This is happening because the discount is currently limited to one per customer. The only way the system knows if someone has used the discount previously is if they are logged in so in order to limit the usage to one per customer it's requiring them to login first.

You can change this by editing the discount and going to step d- Define Eligibility. Uncheck the box that limits the discount usage to one per person and save your work. When users go to the site the won't be required to login to use the discount anymore.