Singular custom taxonomy label

get_the_terms() returns an array of the terms, and is used by get_the_term_list() to build the links. You can query it and count the number of returned terms. Since the result is cached, it won’t query the database again.

$artists = get_the_terms( $post->ID, 'artists' );
if ( $artists ) {
    $artistsLabel = ( 1 == count( $artists ) ? 'Artist' : 'Artists' );
    $taxo_text .= get_the_term_list( $post->ID, 'artists', "<div class="grid_2 details">
 <ul class="credits"> <li class="smallunderline">{$artistsLabel}</li><li> ", '</li><li>', '</li></ul></div>' ); 
}