For the same reason I never use sp_rename to rename object in sql server.
Always prefer if exist method.
if exists (select * from sys.objects where object_id = object_id(N'[dbo].[Object_name]') and OBJECTPROPERTY(object_id, N'IsProcedure') = 1)
drop procedure [dbo].[object_name]
GO
Create procedure dbo.object_name
as
SQL DBA.