explain why is_single doesn’t work

Looks like you’re trying to display comments for a single post that has comments disabled.

You should find if ( comments_open() ) statement just one line below.

Paste your code there and it will work just fine:

            <?php if ( comments_open() ) : ?>
                <div class="comments-link">
                    <?php comments_popup_link( '<span class="leave-reply">' . __( 'Leave a reply', 'twentytwelve' ) . '</span>', __( '1 Reply', 'twentytwelve' ), __( '% Replies', 'twentytwelve' ) ); ?>
                </div><!-- .comments-link -->
                <?php comments_template( '', true); ?>
            <?php endif; // comments_open() ?>

Also, I can’t find PHP starting & ending tag in your example, but I suppose it’s just a typo? 🙂

Cheers,
I hope it helps.