How to wrap comment_form $fields in one div?

The hook you’re using is correct, however, you don’t need to bloat it out so much. This simpler version will do exactly what you’re looking for, with much less lines.

function wpse172052_comment_form_before_fields() {
    echo '<div class="row">';
}
add_action('comment_form_before_fields', 'wpse172052_comment_form_before_fields');

function wpse172052_comment_form_after_fields() {
    echo '</div>';
}
add_action('comment_form_after_fields', 'wpse172052_comment_form_after_fields');