Error in drop temp table in batch

Dear friends, what's wrong here: (Of course with GO everything OK)

DROP TABLE IF EXISTS #T
GO
CREATE TABLE #T (First int)
INSERT #T SELECT 1
DROP TABLE IF EXISTS #T
-- G_O
CREATE TABLE #T (Second int)
INSERT #T SELECT 2
SELECT * FROM #T
GO

Error:
There is already an object named '#T' in the database.

Of course the error comes from second "CREATE TABLE" because the table was not dropped, but why?
Thank you so much.

This is a feature of the parser. You have to use different names, or use different batches.

"If more than one temporary table is created inside a single stored procedure or batch, they must have different names." (from Microsoft documentation)

Thank you very much. Yossi