"Can't say I found this article all that enlightening. Having been an employee at several startups that have transitioned past the 30-40 headcount mark, there does seem to be a breakdown at that stage. What is the cause, and how do you deal with it?
"

I'll at least attempt to give you something that may be a little more enlightening. I suspect a bunch of it will come off as stupid babble to people who have smaller teams, and less so to people who have managed or transitioned larger organizations. I claim credit for none of it.

There is no single cause of course. The unsatisfying answer is that "for the complex system that makes up a lot of these organizations, 30-40 is the number at which a lot of these systems become noticeably more unstable". There are a lot of possible reasons for this (not everyone has the same mind anymore, same incentives, etc, and over time, are gravitating towards certain things)

The main reason for failure though, i believe, is that startups are very used to dealing with complicated problems (difficult but amenable to having an end state and answers, even though they involve tradeoffs) and not complex systems (things that don't stay still, there is no right answer, and there is no end state) , and so try to solve "the system" as if it was a complicated problem. People want to put in place "an answer" and have it work for a while. This rarely, if ever, works

You give an example of this: The flat organizational system tend to not work as well at that size. People see this as a set of problems. So they try to solve them. Often, as you mention, by moving to hierarchical management. As you've aptly described, that just ends up trading one set of problems for another. That's because there is no actual solution to the problem.

It's not a problem to be solved, in the same way "culture" is not a problem that can just be solved. It is an ever changing thing. You need a very different approach. Instead of trying to solve "the problem" (which is usually, in this case, something like "people running in too many directions", etc), one needs to try to step back, and try to understand all the attractors, variables, and factors that are currently causing your system to behave in a certain way. People often think they know the answer why ahead of time, but they are often wrong :P. Figure out where you can have influence in this system by nudging variables, and try to nudge things towards a certain direction and see what happens (IE choose something you want to see more of or less of, experiment, learn from what happens, try again). Incentivize the right things to happen, instead of directing the right things to happen.

This is all a pretty general description (and there are actually very good books and courses and such on the above, even if not specifically written about startups).

There are also certainly times where the system is failing bad enough you need to completely replace it, but that is due to a failure of leadership.

There are also times where "hierarchical management" may be a valid experiment to try (it's just an example above). But i believe most startups just go directly into problem solving mode when they hit these kinds of issues, and that, again, rarely accomplishes much except frustration and failure. It really requires a mindset shift of not just trying to solve complicated problems and seeing everything as fitting into this mold.

Even you mention "Okay, but what steps can you actually implement to solve the problem?". The steps you can take are to realize it's not a single problem, or even a collection of problems. These are just emergent properties of your system.
Your goal is to nudge it into different emergent properties that are closer to what you want, not just try to solve the set of problems those properties produce.
It's important to also realize you will never stop having to push the system in various directions. You are never going to reach this end state where everything is always going awesome with no work on anyone's part ever again. Systems may become meta-stable, and the timeframes on which it stays meta-stable may be long, but usually the only systems that are stable are dead ones ;)