It's not clear what you expect, but in this repro, all rows are return but the last one:
SET DATEFORMAT dmy
CREATE TABLE DOJ (DOJ datetime)
INSERT DOJ (DOJ)
VALUES('12/25/2023'),
('12/26/2023'),
('12/27/2023'),
('12/28/2023'),
('12/29/2023'),
('12/30/2023'),
('12/31/2023'),
('01/01/2024'),
('01/02/2024'),
('01/03/2024'),
('01/04/2024')
select DOJ from DOJ where DOJ between '12/01/2023' and '01/03/2024'
I included the SET DATEFORMAT command, since the outcome will depend on this format.
As other have suggested, double-check the data type.