¿Intentaste agregar la identificación de la publicación a la consulta?
Agregué count(r.post_id) as post_num en tu select declaración y dio los resultados esperados
.
Para eliminar duplicados, use distinct . ¿Quieres el conteo con respecto a la tabla de etiquetas? Prueba
COUNT(distinct pt.post_id) AS post_count; oCOUNT(distinct r.post_id) AS post_count