The Makefile hardcodes these CFLAGS. Is there a reason not to replace them by users choice?
The short answer is "yes". memtest86 provides a standalone binary that is executed instead of the standard kernel in order to test the RAM. The priority there is to make sure the tests are executed reliably, and allowing user-defined CFLAGS will not bring any more stability. Due to the specific nature of the binary being built, there is a higher than usual potential of breaking things if other CFLAGS are used. Note for example the -m32 flag -- the memtest code is designed to be compiled in 32-bit mode.