O erro ocorre porque não há uma coluna category_id na tabela posts. Para funcionar, você precisa fazer um join com a tabela topics.
Assim:
LEFT JOIN topics t ON t.id = p.topic_id
Se você detalhar os dados que precisa, posso tentar ajustar a consulta.
Você está procurando por todos os posts, e não pelos tópicos, que pertencem às categorias 48 e 23? Posts e tópicos que foram excluídos devem ser ignorados no resultado?
O CURRENT DAY() retorna a data de hoje. Qual é o período que você deseja pesquisar?