how to loop through this in blog single?

It appears there is a syntax error with this line:

if ( have_posts() ) while ( have_posts() ) : the_post();

You are missing a colon after ( have_posts() ).

If it’s not a theme related issue as mentioned in the comments if you change it to:
if ( have_posts() ) : while ( have_posts() ) : the_post();

Also, the endwhile should come BEFORE the endif.

After making these changes it should work.

See Example Here:

<div class="row">
                        <div class="col-md-8">
<?php  if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
                            <div class="blog-post">
                                <div class="single-post">
                                    <div class="post-thumb">"><img src="<?php the_post_thumbnail_url(); ?>" alt="blog thumb" /></div>
                                    <div class="blog-single-content">
                                        <div class="blog-list-content">
                                            <p class="post-meta">Posted By <a href="#"> <?php the_author(); ?> </a></p>
                                            <h3 class="blog-title"> <?php the_title(); ?> </h3>
                                                                    <?php the_content(); ?>
                                        </div> <!-- class="blog-list-content" -->                            
                                    </div> <!-- class="blog-single-content" -->
                                </div> <!-- class="single-post" -->
                            </div> <!-- class="blog-post" -->
                            <?php endwhile; ?>
                            <?php endif; ?>

                          
                            <?php comments_template(); ?>

I always check my PHP with a code checker here: https://phpcodechecker.com/. I have found it helps a lot when debugging my code.
Hopefully, this works for you!