Wew ****ing lad.
In the actual translation, it's stated that Marco's flames keep regenerating no matter the attack:
You must be registered for see images
"Regenerating" indicates that he's being injured, the injury is just healing. The attacks are damaging his body, the damage is just healed and nullified by the flames.
This is further confirmed by Oda in the SBS
You must be registered for see images
Oda confirms here that Marco's body is physical, meaning that attacks don't just pass through him like they would something like a Logia. Those holes you see on Marco's body from Kizaru's lasers are wounds. The lasers are tearing into Marco's body the same way they would tear into flesh. Those are injuries. Marco simply has his Blue Flames of Revival technique active so the injuries are healed just as quickly as they form, nullifying the damage. That doesn't mean he doesn't still take the damage and is hurt, it simply means the damage he got from Kizaru's laser attacks were reversed as the healing powers of his fruit took place.
Garp's attack only knocked down Marco because Marco wasn't on-guard for it, not because it was stronger or more effective than Kizaru's attack. Garp's attack injured Marco because Marco wasn't using the Blue Flames of Revival technique like he was when he first took Kizaru's barrage of light beams.
Notice how when Kizaru shot Marco with his back turned, they created bloody wounds because he wasn't actively using his technique. Marco's regeneration isn't passive, it doesn't happen automatically, it's a technique he has to activate.