Customizer section gone after adding second

The problem is that you’ve got duplicate control IDs. In section 1 you have:

$wp_customize->add_control(new WP_Customize_Color_Control(
    $wp_customize, "qs_spirit_co_section_2_text_color_control",
    array(
        "label" => __("Text Color", "qs-spirit-co"),
        "section" => "qs_spirit_co_section_1",
        "settings" => "qs_spirit_co_section_1_text_color",
        "type" => "color",
    )
));

Which has qs_spirit_co_section_2_text_color_control as the ID.

And in section 2 you have:

$wp_customize->add_control(new WP_Customize_Color_Control(
    $wp_customize, "qs_spirit_co_section_2_text_color_control",
    array(
        "label" => __("Text Color", "qs-spirit-co"),
        "section" => "qs_spirit_co_section_2",
        "settings" => "qs_spirit_co_section_2_text_color",
        "type" => "color",
    )
));

Which is also using qs_spirit_co_section_2_text_color_control as the ID.

This means that only the first control is being added, to section 1, which means that section 2 has has no controls, and when sections have no controls they do not appear.

Make sure to give the controls unique IDs.