As a workaround, I think I will now write the name of each individual test step into a global variable before it is executed, which I can then read out again in the catch block for the test case call if necessary.
But @ Katalon-Team:
That is anything but optimal, please find a solution for such an obvious requirement! It makes no sense to me at all to overload the test cases with the logic for the necessary failure handling, if you imagine at the same time that Test Cases should also be able to be created manually by non-programmers.
So it should be possible to solve this somehow else, as Russ already mentioned: Either by extending the options of the Test Listeners or by a globally available object that provides information about the test step that originally failed.
Thank you + regards!