That's the reality: our contract specifies a number of days, and pays us for those days. Days we don't work, we don't get paid.
I've never met a teacher that didn't work for free outside of their contractual hours and days.
If I just add the extra hours I work during the work week beyond my contract, not counting weekends, holidays, or summer days...I work, on average, an extra 10 unpaid hours a week. In our 36 week school year, that's 360 unpaid hours, which translates to an extra 45 days a year, unpaid...
Again, not counting any work I do on actual non-contract days. If you add weekends, holidays, and summers, you can add, minimum, another 25 days, unpaid.
About 70 days of work a year. Unpaid. Given a 5-day work week, that translates to an extra 14 weeks. Working for free.