Why `fastboot devices` fails in USB debugging mode and Downloading... -mode?
The part of the Android bootloader that usually features the fastboot server is called aboot.

As explained in this article, the standard aboot derives from the Little Kernel (LK) project. Almost any phone manufacturer then customized it and created its own bootloader. Follows an excerpt from the abovementioned article:


  All Bootloaders I've checked (including Samsung's and Amazon's) seem
  to derive from LK (in fact printing out the "welcome to lk\n\n" from
  its kmain), though Amazon's take steps to disable fastboot, as does
  Samsung, which then uses their own custom App, called Odin.


In short, there's no way to use fastboot with Samsung devices. Only Odin is recognized (by the Loke component).