I can do both high inclines and knee push-ups (declines a bit less effectively), but somehow when I try to do a single pushup on a flat surface, I end up feeling like a Buffalo unable to bend my elbows.
Is there a solution to transition to flat push-ups?
Start with an incline, build up the number of push-ups you can do, then lower the degree of inclination.
E.g., start with sets of, say, 5 push-ups, work up to 10--20, then reduce the incline and the number of push-ups, and build up again.
Rinse, wash, repeat.
For strength training, most sets are done with reps ranging from 1 (max effort) to ~20 or so repetitions. Higher reps are frequently seen as not effective for a training response (you're not increasing strength, hypertrophy (that is, muscle growth), or endurance), and increase risk of injury (repetitive motion). They may be of interest in simply measuring endurance.
There are also techniques such as negatives (focusing on the excentric motion, so lowering in the case of push-ups), where you don't bother lifting yourself afterward (or do so from a kneeling or other position), which can help develop strength. I'm more familiar with this being used as a chin-up progression, e.g., use a box or step to rise up, then lower yourself (lift your legs or step off the stand) down, and repeat.
Typically, if you're hitting 20 reps of a movement within a single set, you'll want to make that movement more challenging (more resistance, different angle, single-limb rather than doubled (e.g., lunges vs. squats, one-armed push-ups or chins vs. double).
The key other factor I'd include is limb length: if you have longer limbs you need to work harder on lifts using those limbs, generally. Short weightlifters and powerlifters are, on a mass basis, much better lifters than tall ones. This gets complicated when considering non-primary limbs, e.g., if you're a deadlifter, long arms mean that your legs need to move the bar though a shorter (easier) range of motion. Long legs make push-ups more challenging (you have a longer class-2 lever arm, and the load is nearer the shoulder than the toes). Long limbs tend to improve performance in speed events (e.g., running).
There's also the matter of training cycles. Strength training works as a function of the resistance (weight or other element(s)), reps, sets, rest (within a rep, between reps, between sets, between workouts, and workouts over time), as well as overall progression, and factors such as equipment, form, and the like. Lou Schuler's book gives the basics and references for further reading, which is amongst the reasons I strongly recommend it. It is well-pitched for beginners but also provides a good ramp to further knowledge and understanding.
The Wikipedia Strength Training article gives a good very brief overview of principles:
The basic principles of strength training involve repeated overloading of a group of muscles, typically by contracting the muscles under heavy resistance and returning to the start position for several repetitions until failure. The basic method of resistance training uses the principle of progressive overload, in which the muscles are overloaded by working against as high resistance as they are capable of. They respond by growing larger and stronger.
And of basic concepts: Intensity, volume, and frequency, periodization, training splits, and equipment.
There's also the possibility of other factors challenging you, though I strongly suspect you simply need to get stronger and focus on consistent exercise over time. A programme followed for 6--8 weeks will in very nearly all cases start to show significant gains. Those accumulate as you continue, compounding over years.
Is there a solution to transition to flat push-ups?