I think honesty is the best policy.
We had a pupil at school who also had a really bad hygiene issue, his body odor was horrendous. To some it up, once another pupil squirted yogurt at him and it got in his hair, it was still there days later!
It turned out he had no sense of smell. A teacher noticed the problem and told him directly 'I think you have a bit of a body odor problem, most people shower every other day' Or words to those effect.
It turned out that he was actually grateful (after the initial embarrassment of course) and to this day his friend will gently remind him if he is a bit smelly.
If you feel a bit unconvertible saying it directly maybe you could try to find out more about his home life. Surely his parents would tell him to shower more?
There could be a benefit on both sides if you tell him directly, it may make it clearer that you are his teacher and he is the pupil, it will probably reinstate some boundaries and reduce/stop the unwanted interaction.