na3s was right when says something its corrumping the loop, there are two ways to fixit
the problem occurs when any another query_post from any reason is useit before comments_template()
if (have_posts()) : while (have_posts()) : the_post();
$temporal = $post->ID;
…..
another query_post from any reason
…..
$post->ID = $temporal;
comments_template();
so with a temporal fix that issue, the other way its to use a instance for the query $my_query = new WP_Query().