My 3 year- old son has a bad breath. But he brushes his teeth 3x a day. He said his head is aching but no fever. Why does he have a bad breath?

Brush tongue. The tongue should be brushed along with the teeth when performing oral hygiene, to help control bad breath. Also, the toothbrush bristles should be directed towards the gums when brushing to remove plaque under the gums that can contribute to bad breath.
Dental Cleaning. When we brush and floss our teeth several times a day their are areas we will miss. Plaque accumulation with bacterial action results in gum irritation and a sulfur-like compound that results in bad odor. Professional dental cleaning is needed average twice per year. Bad odor can also result from certain foods, gastric or digestive conditions or certain illnesses. Head ache is probably unrelated.
Sinuses? Tonsils? Bad breath can certainly come from plaque build up on the teeth or other places in the mouth such as the tongue or tonsils. It can also come from sinus problems and postnasal drip or stomach problems. Talk to your pediatrician to see if any of the other areas are of concern.