Eu acho que você tem que escapar do "%" - sinais
então isso:
0 23 * * 1-5 /etc/backup/backup.sh daily $(date -d "-1 day" +\%w)
... deve funcionar. Eu não sei o que tem que ser escapado, acho que + e%, por favor, tente. * quando eu fiz isso no cron eu usei a sintaxe backtick mais feia para a execução de comandos e tive que escapar deles também, como: *
0 1 * * * something >> bla\'date \+\%Y_\%m_\%d\'.log