First of all, the NDAA (more accurately two specific section within the 2012 NDAA) is a kooky internet libertarian strawman attack on Obama, and it's disappointing when smart people fall for this nonsense. The bill is a gigantic defense department funding bill, which includes pay and healthcare costs for soldiers. No president is ever, ever going to veto that, especially over two provisions (in a massive, $700 billion bill) that don't really change the law and which won't be enforced. Acting like this bill was some proto-fascist power grab is ridiculous.
Calling out those two sections as unconstitutional is not a straw man against Obama, its calling two badly written sections out as what they are. Obama wasn't even part of the friggin criticism until he signed it into law.
Also saying he only signed it becuase of what it was a part of and him not enforcing it do not change the facts that it was ruled to be in violation of the 1st and 5th amendments. Despite that his justice department appealed the rulings. He could have just let it die right there and ended it but didn't.