Attempting to switch from 17.12 to 20.03 but initial testing fails. Installed setup version that includes mingw on Windows 10. Initial test of HelloWorld failed because the Toolchain executables in compiler settings had incomplete filenames - apparently mingw now includes processor type as part of the filename. For example, gcc is x86_64-w64-mingw32-gcc.exe whereas Code::Blocks expects the older / shorter gcc.exe filename.
Actually, all recent (for a few years already) MinGW-w64 Windows builds, including the one bundled with C::B 20.03, come with both long versions ("x86_64-w64-mingw32-gcc.exe") and short versions ("gcc.exe") of executables that are identical otherwise. So it was the other way around: on 17.12, if you wanted to switch GCC from C::B bundle to a newer one and keep calling it <gcc>, you had to replace 32-bit unique names with the short ones. There should be no such problem on clean install now.
Since I'm also trying to transition to 20.03, including some idiosyncratic setup, I still play around with configuration options. Therefore I can confirm that Hello World example compiles and runs out-of-the-box (albeit after fixing botched compiler detection), using all of the following ways: single-file compile, Empty project and Console application project (C++). Debug build of the last one contains only -Wall, -fexceptions and -g as options (plus -Og? I forget), same as 17.12.
So my best guess is that you have used previously left 17.12 .config file, custom .cbp file or some other custom configuration that includes -std=c++20 flag. Seeing all the other (repeated and conflicting) options that are pulled in, there's definitely some build-up here.