The fact that these are called macros and not a programming language might be a reason why they are so heavily adopted: to avoid scaring people away from using Excel. This reminds me of an observation from Richard Stallman's speech about Emacs (https://www.gnu.org/gnu/rms-lisp.html), where secretaries used Emacs Lisp to extend the editor.
In a personal computing world that has a sharp distinction between "user" and "programmer," Excel is one of those exceptions where the distinction between "user" and "programmer" is blurred, since you need to use macros to take advantage of Excel's power. Excel macros are the gateway to learning Visual Basic for Applications, a full-fledged embedded programming language. Then once you know VBA, then the road to learning other programming languages such as JavaScript and Python becomes easier.
It's an exceptionally powerful tool for prototyping.
In excel the ability to be sloppy is actually really nice to just sling together a few random models and call it good when I don't need to be precise.
I'm serious. It's functional, as you say, and cells form a dependency DAG which drives their auto-update, which qualifies it for the "reactive" adjective.
Code is great but requires systems that are not always in place.
I would argue a formula one race car is better than a 10 year old honda. But the honda doesn't need a support crew to get me to work, can be started in an instant, and doesn't care if I forget to change the oil for a year.
context matters in choosing technical solutions. Your argument is no different than all those other ones over what programming language is 'best'
Excel IS a programming language.