I don’t understand why it passed Congress. If there was truly the support, it would not have been amended to a military financing bill.
That's just political cover. A way to pass a potentially unpopular bill under the radar. They can then say that anyone who opposes this bill opposes funding the military. That's a very old and commonplace trick. As for support, I suspect there are 218 votes to pass a homosexual protection act, the makeup of congress being what it is, but why slap a bull on the nose when you don't have to?