No puedes leer y modificar una tabla en la misma consulta. Son operaciones contradictorias. MySQL no puede adivinar qué vas a modificar, por eso no te deja hacerlo.
Además de eso, hay funciones diferentes para obtener horas y días. NOW() te devuelve un sólo objeto DATETIME, mientras que tu quieres obtenerlos por separado.
Revisa las funciones de MySQL:
MySQL::Capítulo 12. Funciones y operadores
El valor a buscar lo tienes que obtener previamente para luego usarlo.