Why 又 is used in 今晚又要加班? My friend who's a native Chinese speaker told me this "今晚又要加班". I wonder why he used 又 instead of 再 since (as far as I know) 又 indicates a repetition of an action in the past, while in this case, I don't think he refers to the past because he is just about to work overtime again tonight (cmiiw). Could someone please explain to me?
Although he is not referring to a past action, it is a recurrent past action that is going to happen again. The idea of a pattern firmly established in the past, plus the emotional colouring, means that 又 is more appropriate than 再 here. 

There's some contention about whether 了 is required after 又. I think with 要, as it's not as much an action verb (in this context) as some other verbs, 了 is not as required as in other contexts.