field_view_value() with product reference field doesn't display attributes
Instead of using field_get_items/field_view_value try field_view_field.

$product_display = node_load($nid);
$add_to_cart = field_view_field('node', $product_display, 'field_product');
$add_to_cart['#label_display'] = 'hidden';
$cart = drupal_render($add_to_cart);