Acho que você gostaria de algo como:
AND us.first_post_created_at > NOW() - INTERVAL '7 DAYS'
(documentação de data/hora do PostgreSQL)
Para excluir MPs, você precisa fazer um join na tabela topics (seguindo a chave estrangeira posts.topic_id) e verificar a coluna archetype. Adicione isso antes da cláusula WHERE:
JOIN topics t ON p.topic_id = t.id
…e isso antes do ORDER BY:
AND t.archetype = 'regular'