It is entirely inappropriate for the government to write ideology into its contracts or boycott anybody. Do you honestly want your government to have the power to punish you because of your political, religious, or socioeconomic beliefs?
Really? Stem cell research, abortion funding, same sex marriage and the list goes on and on.
I guess it's all about which fight you want them to have and which you don't but they pass moral judgment when spending our money and they do it all the time.
Do you see the word "contract" in any of the things you've mentioned? No, of course not. You have dragged in irrelevant items into this discussion. The two examples are like chalk and cheese.