I think telling him he is not stupid is the right thing to do. That you have to say it over and over again doesn't mean it's not the right thing - he may need to hear it over and over again.
With one of my daughters we brought in a rule that she didn't get her dinner until she had done her homework. With her, it was the only way to ensure it. Arguing was not at all productive.