Testing this on the latest Discourse code on my local dev site, I’m actually able to create multiple invites for the same email address. Looking at the code, I would have expected doing that to throw an error.
You should definitely be able to send a new invite to an email address that an expired invite exists for. A lot of work has been going on with the Discourse Invite system lately. What version of Discourse are you running into the issue on?