I wasn't able to purchase the Season pass until I'd finished my existing day pass. Then I could and did BUT there's a problem at their end with the season pass. It doesn't show on my account and I can't watch anything. They say it's a problem they're aware of but they have no idea when it will be fixed.
"Can I purchase the pass now or before the offer expires but wait to apply the voucher to our account when the current offer I'm on expires, or would I have to apply it as soon as I buy it?"
The short answer to your question is "No".
What you need to do is cancel your current pass BEFORE 21 August (your next payment date). You will be able to continue watching until that date, after which your pass (and current offer) will expire and you'll be able to purchase the Season Ticket. The system won't even let you buy the Season Ticket whilst you are still on another offer (you will get a message saying: "Sorry - it looks like you're not eligible for this deal. This could be because you're already on an offer").
I'm in the same boat. After my Season Ticket expired on 24 June, I was offered a further 3 months at £14.99 per month. That WOULD have taken me to 24 September, AFTER the Season Ticket offer expires on 26 August. After checking with Live Chat, I cancelled my current pass after my payment on 24 July, so it now shows that my pass will end on 24 August, after which I will be free to buy the Season Ticket:
Sky Sports Month Pass Cancelled You can keep watching until your offer ends on 24 Aug 2019 You won't be charged for this pass again. Come back anytime for a ticket to all 11 Sky Sports channels. Restart Pass