Prova:
SELECT * FROM `msr_bills`
WHERE STR_TO_DATE(bill_date, '%d-%m-%Y')
BETWEEN STR_TO_DATE('15-09-2021', '%d-%m-%Y') AND STR_TO_DATE('23-09-2021', '%d-%m-%Y') ;
https:/ /dev.mysql.com/doc/refman/8.0/en/funzioni-data-e-ora.html#function_str-a-date
Quando memorizzi i dati in formato testo, dovresti sempre convertirli nel formato della data corretto