While the US has been traditionally fire at will, over the latter half of the 20th century exceptions had to be made where you can’t fire people for various discriminatory things or becoming a parent anymore. In the early 20th century organisations also couldn’t fire people for unionizing anymore. And not all unions accept fire at will policy.
Companies may additionally prefer to have more standardized procedures. Hiring is expensive, training is expensive, and cohesion can only be gained over a long time. By needing multiple steps to fire someone you reduce the chance you throw the baby out with the bathwater. And even if you’re sure someone is a negative factor and want to fire them with little prior notice, the people who you think are good are not mind readers and might even have a different opinion of their colleague and will question their own employment security.
I suspect it's partially a way to protect from lawsuits so it's difficult to file a suit you were fired for idk, your religious views, refusing romantic advances, refused to do something illegal etc. etc.
Companies may additionally prefer to have more standardized procedures. Hiring is expensive, training is expensive, and cohesion can only be gained over a long time. By needing multiple steps to fire someone you reduce the chance you throw the baby out with the bathwater. And even if you’re sure someone is a negative factor and want to fire them with little prior notice, the people who you think are good are not mind readers and might even have a different opinion of their colleague and will question their own employment security.