Update label text in runtime

How should I update text of label in if else loop.
Hardware: PC Simuator
Issue: The label overwrites existing place without clearing previous data

lv_obj_t * label;
static void slider_event_cb(lv_event_t * e)
{
    lv_obj_t * slider = lv_event_get_target(e);
    int32_t value = lv_slider_get_value(slider);

    label = lv_label_create(lv_screen_active());
    lv_obj_set_style_text_font(label, &lv_font_montserrat_24, 0);
    lv_obj_set_style_text_color(lv_screen_active(), lv_color_hex(0xffffff), LV_PART_MAIN);
    lv_obj_align(label, LV_ALIGN_TOP_RIGHT, -100, 80);
    printf("%d ", value);
    if (value >= 0 && value < 22)
    {

        lv_label_set_text(label,"Rare");

    }
    else
    {

      lv_label_set_text(label, "Med");
    }


}

.

you cant create new label for every callback primary fill memory secondary as you see every is printed over previous still existed

Thanks