In my comment, I mentioned three advantages of functions are:
They are easier to test and verify correctness.
Functions can be easily reused (sourced) in future scripts
Your boss likes them.
And, never underestimate the importance of number 3.
I would like to address one more issue:
... so being able to arbitrarily swap the run order isn't something we would generally be doing. For example, you wouldn't suddenly want to put
walk_into_bar, that would break things.
To get the benefit of breaking code into functions, one should try to make the functions as independent as possible. If
walk_into_bar requires a variable that is not used elsewhere, then that variable should be defined in and made local to
walk_into_bar. The process of separating the code and minimizing inter-dependencies should make the code clearer and simpler.
Ideally, functions should be easy to test individually. If, because of interactions, they are not easy to test, that is a sign that they might benefit from refactoring.