OP - I think you have decided you can't go, so are just ignoring practical advice. If for whatever reason, you don't want to go and are looking for excuses, then ignore the following.
If actually you want to go:
Call the airline and the hotel not the online booking agent you used. See if it is possible to change your flights and hotel date stays.
As it's a school you now work in, if you can move the holiday to the school easter holidays or summer holidays, so it wouldn't be unpaid leave - I didn't mean move it to 4 weeks that cover the school easter holidays but still having to have unpaid leave for the other 2 weeks, but to say "right, I can't go for 4 weeks, but if I can change my flights to cover the school holidays, then just go for those 2 weeks I won't have to take any unpaid leave. It might mean righting off the 2nd trip you'd booked for when you are there, but that at least means you'll get to have the first part of your trip.
If you don't think it's "worth" going if you can't have a full month, there's not much we can do to help, unless you can get the flights moved to July/August when you could go for a month when the school is closed for the summer.
I agree that "just realised I can't afford the rest of the holiday" wouldn't be covered under most travel insurance policies, although definately worth having anyway.