I think you're close.
Rather than creating a certificate with the same name in both databases you should backup the certificate from the first database and restore that to the second.
USE DB1
CREATE CERTIFICATE cert1 WITH SUBJECT = 'Certificate for my stuff'
BACKUP CERTIFICATE cert1 TO FILE = 'c:\cert1.dat'
WITH PRIVATE KEY
(
ENCRYPTION BY PASSWORD = 'mypassword',
FILE = 'c:\cert1_privatekey.dat'
)
--
USE DB2
CREATE CERTIFICATE cert1 FROM FILE = 'c:\cert1.dat'
WITH PRIVATE KEY
(
FILE = 'c:\cert1_privatekey.dat',
DECRYPTION BY PASSWORD = 'mypassword'
)