In S/MIME, are the same certificates always used to sign and encrypt messages? My assumption is that S/MIME almost always utilizes certificates as follows: 


My certificate can be used to allow people to encrypt messages and send them to me. 
My certificate (the same certificate) is used by me to sign messages and send them.


Is there an RFC reference that specifies this is a requirement for S/MIME?
I'm scanning through RFC 5751 and not seeing anything jump out at me...
No, clients do not have to use the same certificates for signing and encrypting messages.
Actually, you already noted the reference yourself. Let me quote RFC 5751, section 2.5.3 on page 13:

2.5.3. Encryption Key Preference Attribute
The encryption key preference attribute allows the signer to unambiguously describe which of the signer's certificates has the signer's preferred encryption key. This attribute is designed to enhance behavior for interoperating with those clients that use separate keys for encryption and signing.  This attribute is used to convey to anyone viewing the attribute which of the listed certificates is appropriate for encrypting a session key for future encrypted messages.

(bold-italic emphasis mine)
As the reference states, clients can (but do not have to) use separate keys for encryption and signing.