Bed heating from Pronterface works, but not from LCD menu nor from SD print
I thought this was an easy problem to fix as the previous Configuration.h you shared had PID incorrectly configured. 

I'm guessing that you experience this LCD screen:



What I experienced myself when PID tuning the bed is that it matters whether the bed is preheated or not. At first attempt the command such as the  M303 E-1 C8 S70 you used did result a failed PID tuning (note that you should perform the test from a cold bed). 

Your PID values:

// PIDTune from Pronterface
#define DEFAULT_bedKp 305.95
#define DEFAULT_bedKi 60.24
#define DEFAULT_bedKd 388.4805


are similar results as I have for a 24V 300 x 300 x 3 mm bottom cork insulated heat plate with 3 mm glass.

You have not added the "Configuration_adv.h", but this file contains the advanced settings for the printer and most probably contain:


#if ENABLED(THERMAL_PROTECTION_BED)
  #define THERMAL_PROTECTION_BED_PERIOD 20    // Seconds
  #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius

  /**
   * As described above, except for the bed (M140/M190/M303).
   */
  #define WATCH_BED_TEMP_PERIOD 60                // Seconds
  #define WATCH_BED_TEMP_INCREASE 2               // Degrees Celsius
#endif


This describes that the software waits for 60 seconds for the bed to increase 2 &deg;C. If the temperature increase is not observed, there is no heat input to the bed, or it does not reach the set temperature. Please check your values.