Sometimes's it's possible that seat inventory can differ depending on who is checking. For example, if an agent in the USA checks they may show different availability than if an agent in HK checks.
It's quite rare for the two to be very different but it can happen.
Depends on which country's inventory the website is checking you might get a different reply. I've also had the same situation happen with SQ where I've called them to ask for seats but they say they have to waitlist even if EF shows >0 availability. Same deal where sometimes I've managed to get a confirmed booking immediately in a class where EF shows 0 seats available.