Newerton, fiz o teste. Seguinte: colocando ou não o
if($model->validate())
ele continua com o mesmo comportamento, executa de modo correto o beforeValidate, mas se no model eu tiro o beforeValidate e coloco o beforeSave ele continua com o mesmo erro, ele não chama a função e com isso não altera nenhum variável. E é justamante o beforeSave que estou tentando fazer funcionar e ele não chama este método.
Finalmente funcionou! E pensar que era algo tão simples…Tirei os campos de data do required da rule e funcionou perfeitamente. Obrigado a todos pelas dicas e ajudas!!