a tooth/ teeth are worn somewhere in your drive train. something needs to be replaced or your chain is too long. there is a correct way to find the chain length you need but i cant remember where. have a browse or see what is warn
KK... you MUST have a chainguide or front derailleur if you have a single ring up front and multiple in the back. You can use an inner bash plate, too.
That is why it's falling off, has nothing (or little) to do with chain length (unless it's ridiculous, but there's gonna be a lot of slack in your high gear anyway), or chain wear.