richy I understand the zero contract thing, but your question doesn't really matter what contract they are on, no you don't have to pay them, they are entitled to a holiday entitlement, so they take the bank holidays as a holiday and get paid and you deduct it from their holidays, or they work and get paid as normal or they don't work and don't get paid and the holiday's they are due still.
My old man always employed on a piece rate contract but I am not sure that is even legal anymore, but as far as I have read into it a zero hour contract is a also a bit dodgy, you have to every few weeks not let them work in order for it to be upheld, that is the case of a tribunal of course, you may get away with it for years as long as no one contest's it.
but from the little I have read if challenged, and the workers had done a certain number of hours every week, they then average that out and then you lose.
I went for an in-between solution and went for a part time contract with 16 hours and overtime, but it didn't really work out for me, it may well for you though as I was a rubbish employer first time round