The surging suggests it's lean. The fact that it runs better with some choke cinches the diagnosis. You've got a jet or orifice that is at least partially blocked. If you are so inclined, disconnect the fuel line to the genset. Connect a rubber hose to the genset gas inlet, so you can dip said hose into a gas can. Mix ups some gas with a generous helping of Sea Foam. Actually I have had even better results with Sta-Bil Marine additive than Sea Foam. Please take all appropriate fire safety precautions.
Run it today for a few minutes.
Run it tomorrow for a few minutes.
Repeat for a few days until it runs right.
If you can't run it every day, the stuff will still be at work in the carb, hopefully dissolving the crud.
In my experience, this works wonders with small engines which have something blocked in the carb. I never would have believed it until I tried it. I've done several now.
EDIT TO ADD: I guess the fact that yours runs well for a while does cast some doubt on my diagnosis. However if it was mine, I'd still do what I wrote up. Very little cost, and no harm, to try it.