Changing the Finder icon for an external disk formatted as ExFat?
I do a "Get Info" on the drive. This brings up the info window. To add the icon, I drag and drop the .icns file on the image shown in the upper left corner of the window.


  When I refer to a "drive", what I really mean is a partition located on a physical or virtual drive. Since the partition is ExFAT formatted, the partition can also be referred to as a volume. 


Maybe your .icns file is no good. Maybe you should try one of mine. You can download the ones I use here. Or, you can try the free online tool I used to create these .icns files. Go to iconvert icons.

When you drop the .icns file, a copy of this file is renamed .VolumeIcon.icns and placed in the root directory of the drive. For example, if I use a Terminal application window, I can show this file.

Steelhead:~ davidanderson$ diskutil list /dev/disk1
/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *4.0 GB     disk1
   1:             Windows_FAT_32 UNTITLED 1              808.2 MB   disk1s1
   2:                 DOS_FAT_32 UNTITLED 2              808.2 MB   disk1s2
   3:               Windows_NTFS UNTITLED 3              808.2 MB   disk1s3
   4:                 DOS_FAT_32 UNTITLED 4              808.2 MB   disk1s5
   5:                 DOS_FAT_32 UNTITLED 5              808.1 MB   disk1s6
Steelhead:~ davidanderson$ mount | grep disk1
/dev/disk1s1 on /Volumes/UNTITLED 1 (msdos, local, nodev, nosuid, noowners)
/dev/disk1s2 on /Volumes/UNTITLED 2 (msdos, local, nodev, nosuid, noowners)
/dev/disk1s3 on /Volumes/UNTITLED 3 (exfat, local, nodev, nosuid, noowners)
/dev/disk1s5 on /Volumes/UNTITLED 4 (msdos, local, nodev, nosuid, noowners)
/dev/disk1s6 on /Volumes/UNTITLED 5 (msdos, local, nodev, nosuid, noowners)
Steelhead:~ davidanderson$ cd "/Volumes/UNTITLED 3"
Steelhead:UNTITLED 3 davidanderson$ ls -l .VolumeIcon.icns
-rwxrwxrwx@ 1 davidanderson  staff  26582 May  5 15:50 .VolumeIcon.icns
Steelhead:UNTITLED 3 davidanderson$ 


Here is a screen shot from my Desktop.



If you something goes wrong read this:

There must be a cache of volume names to icons buried in OS X. I say this because no matter what combination of reformats, ejects, unmounts and deletes I preform, the same icon reappears. Something like the following is happening:


The  operating system encounters a valid .VolumeIcon.icns file in
the root directory of a partition (volume).
The .VolumeIcon.icns is read in to the cache and associated with
the volume name.
Even if the .VolumeIcon.icns file is changed, the operating system
does not update the cache. (This is one of the bugs!)


If you do the following, you may have a shot at success. I do not guarantee this to be an inclusive list.


Remove the .VolumeIcon.icns (if it exists) from the root folder on
the drive, by following these instructions.  Highlight the drive
(volume) and select "Get Info" from the menu bar. Next, highlight
the icon shown in the upper left of the pop up window. Finally,
from the menu bar, select "Cut". Note: This file is not normally
shown in the Finder, unless you enable the Finder to Show Hidden
Files.
Rename the drive to some name never used before.
Eject the drive and remove from the computer.
If necessary, quit the Disk Utility application.
If necessary, quit the Terminal application.
Close all Finder Windows"
Hold down the option key and right click on the Finder
icon on the Dock. Select "Relaunch".
Connect the drive back into the computer
Drag and drop the .icns files on the icon in the upper left corner
of the "Get Info" window for the drive. It may appear as if
nothing has happened.
(Optional) Verify the .VolumeIcon.icns appears in the root folder 
of the partition (volume). This file is not normally shown in the 
Finder unless you enable the Finder to Show Hidden Files.
Experienced users can also use the Terminal application to verify
this file exists
Use the Disk Utility application to unmount the partition (volume).
Use the Disk Utility application to mount the partition (volume).