"SQL Server compiles the statements of a batch into a single executable
unit, called an execution plan. The statements in the execution plan are
then executed one at a time"
SQL server makes an Execution Plan for the batch. Each statement has a Query Plan that makes up part of the Execution Plan. You can demonstrate this by running several statements in a single window and viewing the query plans, each with a piece of info labeled "relative to the batch".
The confusion probably lies in the fact that if you run a single statement your one query plan is the Whole execution plan. The article OP referenced made the assumption the readers were familiar with the Execution Plan/Query Plan dynamic.
The important things to take away from the article linked by OP in the question are the Rules For Using Batching. Specifically the first two:
--If you CREATE a rule, constraint, or view in the batch, you cannot
reference it by another statement in the same batch.
--If you alter a table, you cannot utilize the new schema in a different
query in the same batch.
This implies to me that SQL server caches schema info for all statements in a batch before executing them, and does not update the schema info while a batch is being processed.
Another, and probably more important and more often utilized, element of batching statements from the application to the server is the use of transactions. You can use a transaction to manage your commits and rollbacks in the event of errors within any of the statements you batched. This touched on briefly in the linked article near the top under the section titled "Batches"