Missing, improperly installed, or wrong type of a rain cap which allows for water penetration. There’s not much I can say about it because I don’t know if you have one or what type is it. If possible take a picture and email it to me.
Corroded / cracked side wall of the vent pipe. You vent pipe should be double wall type and sometimes the exposed above the roof section corrodes, cracks, or partially disintegrates and starts leaking inside. If this is the case, the top section of the pipe should be replaced / it’s first joint is usually beneath the roof surface / in your attic.
Rain (or storm) collar on the vent pipe became loose and leaking. In most designs the collar sits on the vent pipe, a few inches above the roof surface and flashing. By design it provides water resistant seal but with temperature fluctuation, contraction and expansion of the vent pipe, it sometimes leaks. People use silicone around it but it rarely provides permanent solution.
Patching doesn’t really work on vent pipes because they serve such an important function in discharging exhaust gases to exterior. Replacing compromised part does the trick and lasts much longer but you are probably going to need a heating contractor to determine what’s causing the leak.
One more thing you could do is go into your attic (be careful) during the daylight and check for any light penetration around the vent pipe at the roof penetration level. Just to make sure that your roofing contractor did a good job on checking the flashing.
Let me know if there's anything else I can help you with. Just click "comment" below.