El error se debe a que no existe la columna category_id en la tabla posts. Para que funcione, necesitas hacer un join con la tabla topics.
Así:
LEFT JOIN topics t ON t.id = p.topic_id
Si detallas los datos que necesitas, puedo intentar ajustar la consulta.
¿Qué buscas: todos los posts, no los topics, que pertenecen a las categorías 48 y 23? ¿Se deben descartar los posts y topics que han sido eliminados en el resultado?
CURRENT DAY() devuelve la fecha de hoy. ¿Cuál es el período que deseas buscar?