Why 又 is used in 今晚又要加班?
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.