China does have to uphold the rules of UNCLOS, since it is a signatory. It is bound by law to do so. The U.S. also must respect the legitimate claims of other nation-states, like China, when it comes to territorial waters at least, except when there is a conflict with the claims of the U.S., which I don't see happening because I don't think even U.S. territories in Asia have waters which overlap with China, although I could be wrong; I'd have to look at a map. However, such conflicts have nothing to do with the area in question.
Also, I have never argued that the ship was anything other than a naval vessel. Whether the U.S. ratified UNCLOS or not, it would be largely irrelevant in this area, since under UNCLOS (which China is bound to), this ship was within its legal rights to be where it was doing what it was. China on the other hand, did not have the legal right to do what it did, although it too of course had a right to be there.