Well, in WP the word "loop" is mainly related to posts. It's easier to say that you want to display categories.
All you have to do is to get them using
get_categories function and display them.
$categories = get_categories( array(
'orderby' => 'name',
'order' => 'ASC'
if ( ! empty( $categories ) ) :
<?php foreach ( $categories as $category ) : ?>
<li><a href="<?php echo esc_attr(get_category_link( $category->term_id ) ); ?>"><?php echo esc_html( $category->name ); ?></a></li>
<?php endforeach; ?>
<?php endif; ?>
And if you want to change the category title to some ACF custom field, then change this part:
<?php echo esc_html( $category->name ); ?>
<?php echo wp_get_attachment_image( get_field('<FIELD_NAME>', $category), 'full' ); ?>
PS. Remember to change to real name of the field. It should return the ID of an image (and not the array - you should set it in field setting). You can also change the 'full' size to some other size.