Couple of things can cause that.
From your post I read that at speed the engine will loose power but stay running?
You use the word "stall" which to me means the engine stops running altogether.
But then you stay it starts fine, so that part is confusing to me.
There are two test you need to do.
With a vacuum gauge you can test if exhaust is clogged
read here: Technical Articles: Engine testing with a Vacuum Gauge - at Greg's Engine & Machine
If exhaust pressure builds up then new fuel/air can not be pulled into cylinder so power drops
With a fuel pressure gauge you can test pressure
engine off = above 50psi
engine idling = 65psi
engine at 2,500rpm for 1 minute = 60psi
Engine off again = stay above 50psi
If pressure slowly drops to below 50psi then check valve in fuel pump is bad.
Another test would be to simply loosen the gas cap.
The EVAP system sucks vapor from the fuel tank while engine is running, if vent is clogged the negative pressure in tank can prevent fuel pump from pushing out enough fuel for high RPM/load, so engine starves for fuel.
Acts similar to a clogged fuel filter