I understand that both 呟く and 囁く mean "whisper", but are there any subtle differences?
This seems like the kind of question that should be answerable with simple dictionary lookups in English, but it doesn't actually seem to be. Jisho in particular does very little to disambiguate here.
Fortunately, monolingual dictionaries are much more helpful.
「呟く」refers to talking to oneself in a quiet voice. No listener is necessary. On the other hand, 「囁く」refers to speaking to a someone in a quiet voice such that it cannot be heard by people nearby.
Basically, you want
囁く when you are talking about whispering something to someone.
呟く on the other hand is also often translated as
mutter, English words which better express the idea that the thing being said is not intended to be heard by anyone but the speaker.
呟くalso happens to be the verb used for tweeting on twitter, which makes some sense if you think about tweets not being aimed at a particular person.
This question also addresses some of these differences, though it's entirely in Japanese.