WHY: Emblems are not a part of the file itself, they're stored somewhere inside Gnome - when you copy files using Nautilus, it is able to update the metadata in Gnome because Nautilus is a Gnome app and is aware of the existance of labels and emblems.

cp, rsync and other non-Gnome commands, on the other hand, know nothing about labels and emblems and can do nothing to preserve them.

HOW TO FIX: There may be no good way to fix it for every command-line utility which copies files. For some selected commands, such as cp you may look at writing some wrappers which set the emblems of the target files to match the emblems of the source files. This post may give you some pointers at how to set emblems from command line