In criminal law, the only case that I am aware of where this is a defense against later prosecution is where you reasonably rely on the advice of those responsible for enforcing a particular law that a particular act is not against the law -- a representation by law enforcement that something is a violation of the law but is not a current enforcement priority would not suffice for (indeed, would directly oppose) such a defense.
If you have cases, etc., that suggest otherwise, I'd like to see them.
I am not sure the impact practically or legally, but obviously lawyer's can advise these businesses (even in the recreational realm) in these states, so maybe pivot your software as legal service software, license it to law firms and have them re-license it to their own clients. Sucks to inject an otherwise unnecessary middleman into the equation, but you already have that with payment processors, banks, card issuers, ect...
The author defined his business as "marijuana regulatory compliance software." Therefore, not enough information is given. If the software was purely for medical marijuana regulatory compliance. Then I think Stripe should continue to work with the company, but as it relates to recreational marijuana that is where Stripe should draw the line.
This is not a morale position, but a legal one. Why?
>it's still illegal at the federal level
Yes; however, one may reasonably rely on the representations of the Government. Moreover, in this particular instance the Gov. (via Attorney General Eric Holder) publicly has taken the legal position that the Federal Gov. would not enforce the Federal Marijuana laws against persons who comply with state medical marijuana laws. What Stripe is dealing with is a Software to ensure compliance with these very laws that the Federal Gov is using as the basis for their Federal enforcement (so long as the Software is limited to medical and not extended into recreational).