This is a very interesting Jekyll use case I must say... May I ask you where do you keep the source code of your company's website?
AFAIK, Jekyll site has the following lifecycle: [PROCESS FILES] -> [SERVE OUTPUT].
And what you are looking for is: [PROCESS FILES] -> [SERVE OUTPUT] -> [REPEAT ON DATE X].
Depending on how you handle your source code and where you host your output, you would be able to exploit some other techniques that are outside of Jekyll scope but give you the desired result.
For instance, a scheduled job on your server (if that's the case) to restart the process, therefore when Jekyll generates pages for newly published events it also takes down expired ones.
So, knowing more about the technical side of your project would help to suggest a technique that fits your business case and environment constraints.