Updated - Handling discounts with a zero value
The following code will after "discount" line in order totals lines, displaying the applied coupons to the order:
add_filter( 'woocommerce_get_order_item_totals', 'add_coupons_codes_line_to_order_totals_lines', 10, 3 );
function add_coupons_codes_line_to_order_totals_lines( $total_rows, $order, $tax_display ) {
// Exit if there is no coupons applied
if( sizeof( $order->get_used_coupons() ) == 0 )
return $total_rows;
$new_total_rows = []; // Initializing
foreach($total_rows as $key => $total ){
$new_total_rows[$key] = $total;
if( $key == 'discount' ){
// Get applied coupons
$applied_coupons = $order->get_used_coupons();
// Insert applied coupon codes in total lines after discount line
$new_total_rows['coupon_codes'] = array(
'label' => __('Applied coupons:', 'woocommerce'),
'value' => implode( ', ', $applied_coupons ),
);
}
}
return $new_total_rows;
}
Display on customer order view, with 2 applied coupons:

Additional code version: Handle applied coupons with a zero discount amount use this instead:
add_filter( 'woocommerce_get_order_item_totals', 'add_coupons_codes_line_to_order_totals_lines', 10, 3 );
function add_coupons_codes_line_to_order_totals_lines( $total_rows, $order, $tax_display ) {
$has_used_coupons = sizeof( $order->get_used_coupons() ) > 0 ? true : false;
// Exit if there is no coupons applied
if( ! $has_used_coupons )
return $total_rows;
$new_total_rows = []; // Initializing
$applied_coupons = $order->get_used_coupons(); // Get applied coupons
foreach($total_rows as $key => $total ){
$new_total_rows[$key] = $total;
// Adding the discount line for orders with applied coupons and zero discount amount
if( ! isset($total_rows['discount']) && $key === 'shipping' ) {
$new_total_rows['discount'] = array(
'label' => __( 'Discount:', 'woocommerce' ),
'value' => wc_price(0),
);
}
// Adding applied coupon codes line
if( $key === 'discount' || isset($new_total_rows['discount']) ){
// Get applied coupons
$applied_coupons = $order->get_used_coupons();
// Insert applied coupon codes in total lines after discount line
$new_total_rows['coupon_codes'] = array(
'label' => __('Applied coupons:', 'woocommerce'),
'value' => implode( ', ', $applied_coupons ),
);
}
}
return $new_total_rows;
}
Display on email notifications with a coupon that has 0 discount:

Code goes in function.php file of your active child theme (or active theme). Tested and works.