OS X really aggressively caches Bluetooth connections, which makes working with Core Bluetooth a royal pain.
After much searching about, I’ve found a way that seems to clear the cache properly. Turn off Bluetooth, open up terminal and copy and paste these three commands in order. You’ll have to enter your password after the first one, and you won’t see your password entered as you type (but it is being entered, so hit return once you’ve entered it and then copy the next two commands):
sudo defaults write /Library/Preferences/com.apple.Bluetooth CoreBluetoothCache -dict
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.blued.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.blued.plist
Once you’ve done that, you’ll need to restart. Voila, once you boot back up it should show you name changes on your iOS peripherals etc.