We've been trying to cut back on milk for him. Maybe we need to bite the bullet and get it out of the house for a few weeks.
I'd recommend buying a carton of a lactose-free alternative and observing its effect on your son, rather than throwing milk out altogether. In our case we identified lactose-intolerance as a possible culprit right away, because DW is intolerant, too. If there's no family history, it might not be his issue. However, there's little harm in trying it.
Lactose-free milk is simply regular milk with the lactase enzyme added, which breaks down the lactose molecules into a simpler sugar, giving the milk a sweeter flavor. Kids like sweet, so it shouldn't be an issue.