This post may be worth a read - accurate speed measurement (and control) requires some form of speed or position feedback.
Take a look at the Send RC (Joystick) and Manual Control examples. I’d also recommend looking through the various forum posts with the pymavlink
tag - some of them are quite detailed and helpful