Looking into the code it seems like there's an excessive amount of markup. Each schema type has various rules about what it should apply to, so it's not hard to violate one of the rules if you're not consciously applying each rule. Just a quick look and I see 13 of these:
itemscope="itemscope"
Not sure what that's supposed to be doing, but I don't think it's correct syntax. Unfortunately looking deeply into a page with so much markup (101 itemprops!) to fix every possible violation is WAY beyond the scope of a question that I can answer here. Generally I'd suggest only using markup where you really want the snippet to appear rather than tagging everything. There's just too much to go wrong.
Beyond that, use Google's structured data testing tool and the structured data section in Webmaster Tools to make sure what you have is working. There are probably some Magento plugins that could handle this for you. Really I think all you need to tag are the product and review-centered markup.
Sorry that didn't help as much as you'd like, but there are dozens of potential minor technical problems to fix. There's enough markup that I can see why Google thinks its spam. In this case, less is probably more. I'd consolidate way down to review markup, make sure it's accurate, and only expand markup carefully once that's working.