What is the reason to use function strings for callbacks

in general:

basically the answer is that php is dynamic language which do not force static constructs and do not validate them in any way until execution time. You will need extra tools to validate php code which a “bare” editor is unlikely to have.

And specifically to your question because that is how you reference callbacks in php since times lost. The fact that you might use some newer construct do not invalidate in any way the previous ways and do not make them inferior in all cases.

WordPress specific:

One of the requirements for a good action callback is the ability to be able to “unhook” it. Unhooking is usually tricky in several kind of ways, but the first requirement is to be able to specify what you want to unhook. A clouser is almost an immidiate non starter although I am sure you can write some clever code to get its object id or other system itentifier and use it.

Which do not imply that clouser are bad, feel free (and probably better) to use it in code which is unlikely to require removal, for example when you write a site specific theme.