Charcoal canister, help me understand.

It's uphill from the fuel pump to the tank, ...... It's not gonna syphon unless air gets in between from the pump end, and only if the jumper at the back is good and only if the tank is under suction. That's a lot of ifs.

I got some possibilities for ya.
1) make sure the tank is vented
2) Open the gascap, remove the jumper at the pump, then make sure you can blow thru the hardline with compressed air, and hear the bubbles in the gas.. Those small lines tend to collect moisture in the lowest parts and rust there, sometimes completely blocking the line.
3) check the jumper at the tank, from the hard line to the sender. My guess is that, if items i and 2 above turn out OK, then, at idle, the pump is sucking air at the jumper and filling the hardline with air. As the rpm goes up, the pump begins to get fuel, enough to drive around on, at normal rpms, but it is always getting some air. When you shut it off; all the fuel in the line between the pump and tank, collects in the lowest place, and all the fuel in the line between the pump and carb, collects at the pump, assuming the pump check valves are holding. So then, when you go to start it, the pump cannot pump anything until it gets rid of the air in the line and pulls up the bit of gas that is in the low spot. Then it can use that as a primer and push up whatever is in the line to the carb. If yur lucky, that is enough to start up on, and if you rev it up, maybe the pump pulls enough from the tank to get going again. But if you don't rev it, it runs out and stalls.
Change the jumper and if using gearclamps, install 2 per side, with screws offset 180*.
While yur doing that, replace the jumper at the front also, cuz chances are they both the same age.
4) Yank the pump off and check the return spring tension.
While yur there, chuck the pump into a vise, and see if it will pull on the suction side.