Since you've had little sucess finding a competent mechanic and want to learn about your bike, you could start off by going HERE and grabbing all the Puch manuals .. there's bound to be very helpful information that applies to your bike in at least a couple of them.
Mopeds are just about the simplest form of engine driven vehicle known.. The learning curve is pretty flat. Given some small desire on your part, you'll be an expert at your own bike in short order..
My guess is the bike is a chain driven, automatic 2-speed. Since, by law, mopeds must shift automatically they use something called centrifugal clutches. When the engine's rotational speed is high enough, weights are thrown outward and the clutch engages.. and the bike moves forward.
As road speed increases to some point (usually near 15mph) another clutch engages and shifts the transmission to 2nd gear.
A car thats stuck in first gear will not have a high top speed and nor will a moped. Since your bike runs fine up to about 17 mph, the transmission could be part of the answer..
The easy test is to drive it and listen to the engine.. As the bike shifts to second the engine RPM will drop, just like in a car.
Some mopeds don't use a roller chain to turn the rear wheel. They use a common V-belt and pulleys.
And some belt-drive bikes use pulleys that automatically alter their diameter, providing a range of "gears". These infinitely variable belt drive mechanisms are called variators.