Can someone please help me use correct punctuation in this sentence. It is pretty simple but I want to make sure that it's correct because it goes in my personal statement.

"Her reason for this cruel behavior: I had not bought the exact brand of glue she had asked us to buy."

Is the colon correctly used or do I have to use a semi-colon?
Yes, this is a good place for a colon: a statement followed by its explanation.

(PS: `exact` is redundant-- either you bought the brand she wanted, or you did not.)
Teachers: We supply a list of EFL job vacancies
would a dash serve me better?
To be honest, I personally like the 'm-dash' in this situation very much, AD -- and I use it a lot. There are, however many stylists who consider it too casual to be considered in serious writing.