lloks like the string is constructed slightly wrong: thank goodness for the print statements!
CREATE LOGIN [test1] WITH PASSWORD = 'password',N' DEFAULT_DATABASE=[Master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;
i think the cod eneeds to be changed like this:
SELECT @cmd = 'CREATE LOGIN ' + QUOTENAME(@name)
+ ' WITH PASSWORD = N'''
+ @password
+ ''',DEFAULT_DATABASE=[Master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;'
Lowell