join from different tables gives same result, but it shouldn't
the solution was to add a subquery :D
thanks!!

SELECT 
    `disenos`.*, 
    `usuario_contacto`.
    `nombres`, 
    `usuario_contacto`.
    `apellidos`, 
    `users`.`username`, 
    `users`.`avatar` as usuario_avatar, 
    `total_coment`, 
    COUNT(votos.id_usuario) as votos 
FROM (`disenos`) 
LEFT JOIN `votos` ON `votos`.`id_diseno` = `disenos`.`id_diseno` 
LEFT JOIN `users` ON `users`.`id_usuario` = `disenos`.`id_usuario` 

LEFT JOIN 
    ( 
        SELECT id_diseno, COUNT(id_comentario) as total_coment 
        FROM `comentarios` 
        GROUP BY `id_diseno` 
    ) `comments`

ON `comments`.`id_diseno` = `disenos`.`id_diseno`
LEFT JOIN `usuario_contacto` ON `usuario_contacto`.`id_usuario` = `disenos`.`id_usuario` 
WHERE `disenos`.`estado` = 1 
AND `disenos`.`votacion` = 1 
GROUP BY `disenos`.`id_diseno` 
LIMIT 5


EDIT: correcting a typo, sorry