Please provide serial number. I'm not familiar with engine specifically and there are several 40s to choose from in my source list. I want to be sure I'm looking at the right configuration. Thanks.
At first pass it does indeed sound like a low speed fuel starvation issue, but you're on the right path to verify the basics. Compression at 120 is very good. If you can keep it running long enough, observe the engine in the dark looking for sparks leaking from spark plug wires to nearby grounds. Any chance you're not firing on all cylinders? Also, if you can keep it running long enough, pull each spark plug wire individually and listen to or observe engine performance. If you pull a lead and the engine running pattern changes, then the cylinder you pulled was indeed contributing. If you pull a lead and get no change in engine performance, that cylinder is not contributing. Spark from ignition should jump 3/8" air gap and then the plug has to transmit that energy. Verify both. When did you change plugs last? Get 'em off the diagnostic list at $3 each. Cheap. A cheesy-science-fair air gap tester consists of a couple wires taped to a cardboard backing with a 3/8 gap between their slightly exposed ends. One wire attaches from the spark plug wire to the cardboard, the other from the cardboard to ground. Turn the engine over and the energy should jump the gap. Don't zap yourself. To test the plug, hold the threaded part against engine ground using a pair of insulated pliers. The plug electrode should spark brightly. If you have one, a timing light is an easy test to ensure energy and timing. Re-mark your flywheel for a good view.
Then fuel. But you've spent a lot of resource here. How does the primer squeeze ball feel? Can you keep the engine running by squeezing the ball? You can verify the fuel pump by turning the engine over with the fuel line separated from the carburetor going into a thick rag. As the engine turns over, fuel should squirt robustly into the rag. Just a few engine rotations will show you. When you rebuilt the carburetor did you get underneath covers or remove welch plugs to clean the low speed jets (depends on carburetor)? You can clear the jets with a fine wire like florists wire from the throat side. You'll see the jets as you open up the throttle butterfly. Usually 2 or 3. They're tiny though. Can be tough to see. If you force feed fuel into the carburetors or into the cylinders directly, does it fire sooner or does it still struggle to start? You can test needle valves and seats by gently blowing into the carburetor fuel inlet with the carburetor right side up and upside down. Right side up, the float falls and opens the needle valve. You should be able to blow gently through the fuel inlet. Flip the carburetor upside down and the float should close the needle valve. You should feel resistance when you blow.
After the carburetor rebuild, how did the idle adjustments go? Did it stay running long enough to find a good sweet spot?
Be sure your ignition is in order before doing too much more with fuel delivery.
J