an engine needs a particular fuel-to-air ratio mixture for every throttle opening.. this correct mix-ratio changes as the throttle opens and closes..
if fuel supply is restricted and the throttle is opened, too much air is allowed in (compared to the amount of fuel being allowed in) and the engine wont run right. Top speed will be restricted and the engine may sputter and misfire.
Closing the choke helps correct this problem.. The choke resticts air to match the restricted fuel supply.. a somewhat more correct air:fuel mix is forced..
bottom line is the carburetor is probably a bit dirty and something in it is partially clogged.. and fuel delivery is limited or erratic.
If the bike idles fine but has trouble when the throttle is opened, some little bit of junk could be partly clogging the main jet hole. Main jet will be accessed inside the float bowl. Clean the carb and blow out all the passages with compressed air. Repair (or replace) any broken filters or screens that might allow junk to get into the carburetor.
If the carb is truely clean, check for loose nuts and bolts around the carb, intake and cylinder areas. Any fuel or air leaks can cause also the symptoms.