In order to put a 128GB drive onto a 120GB drive you may have to shrink the volume in Windows Disk Management. Additionally to mention if you happened to have same labeled capacity drives, there can be small differences between 128GB drives to where one manufacturer is slightly smaller or larger than the other, same goes for Hard Drives.
To fix the issue you shrink the largest C: partition volume down by the amount that allows it to fit the smaller drive and leave the other partitions alone in their small preset sizes. For drives that are larger, volumes are created and then there is unused space. The unused space can be ignored if small and not really usable or you can create a partition and use that unused space as say the X: drive etc.
As far as the external drive being bootable... it can be tricky with Windows as Windows wants to boot from internal drives. The external drive that takes the image, if that drive was one that could be removed from the external enclosure and mounted internally... Then Windows would be happy with it, but it would have to be connected via SATA port and not USB.