He is so young.
He has not been toilet trained very long.
He is normal.
Keep in mind, that day time pottying/dryness is a whole different thing from Nighttime dryness. Night time dryness is a different timeline.
Nighttime/nap time dryness, is something that is NOT fully biologically attained, until even 7 years old.
And this is normal.
It has to do with the body's organ maturity.
it is not the child being "naughty."
My daughter was in nighttime diapers, even at 5 years old.
My son is 4.5 years old, and still wears a diaper for naps and bedtime.
Even if they were potty trained already.
Your son, is not bad.
He is still learning.
Children have accidents. It is childhood.
My daughter, at even 7 years old, had nighttime accidents while sleeping. No biggie.
Even ALL of her Teachers, from Preschool, Kindergarten, and 1st Grade, ALL said, kids these ages have accidents. But the parents won't admit it.
Normal.
Your son is real young.
I don't know of any child that age, who was error free with pottying nor do they have complete 100% control over their bladder or bowels, yet.
It is a biological and physiological, attainment.
Each child is different.