Why can't I insert this value using timestamp but can with datetime?
If you want to catch every hour that exists, have a sequence of integers and do

x + INTERVAL y HOUR


Where x is some constant base time and y is the sequence of hours.  The result of the sum is a valid hour, suitably converted according to DST hours, leap years, etc.