Gradually ramping voltage on button press
Generically you may be able to do this by controlling a DC motor with PWM using and ramping the duty cycle from 0% to 100% over some time, and that will probably solve your problem. 

The details are heavily dependent on the type and size (current/voltage) of motor- it may not be practical if the motor is of certain AC types for example. 

I have retrofitted something that this and it worked well in the application (it happened to be gently lifting many millions of dollars worth of equipment rather than a desk top). 

I used a cheap little microcontroller (PIC18F14K22) with a few lines of assembly code (less than 200 including comments and blank lines) to generate the timed 7.8kHz PWM signal to drive several large MOSFETs. A hardware overcurrent cutoff was included (probably why I picked that particular chip). I was able to leave all the original safety and other interlocks in place, just interrupting what was already present.