Duplicate Content that's temporary.... how to handle?

I have an issue with duplicate content on my wordpress site, and I'm not sure how best to deal with it. Can someone help?

I have events that run multiple times a week, and each day that the event runs, I have created a page for it. So for a certain event, a yoga class, I have 20 pages on the website that are essentially duplicates. I want one version of this page to appear in serps. However, the rest of the pages are set to expire once the event has finished, aside from one "master" version of the page never expires, and instead I change the date of the event to a date in the future.

Is there a way for me to tell Google what version should be indexed. My worry is that Google will index a page that I will set to expire in wordpress. And how best should I handle all the duplicate pages?

Since Content is King in SEO. You have to be very Careful in content marketing. If Search engines comes to know about your duplicate content you will be spammed by search engines.

So to avoid the duplicate content give the source link in all the pages.

What in the world does this even mean? - "you will be spammed by search engines".

Search engines do not spam websites. Please tell me of a single time that a search engine visited a website and inserted spam? How in the world would an otherwise inert search engine perform such an act?