Depending on look back period you have selected for the rule, the value can still be Unspecified if it is an old one (that means the value arrived in your reporting beyond the look back period). If that is not the case and you are still seeing the issue, please contact Customer Care to help troubleshoot this.
There are too many things that could go wrong with the given regex. You may want to make it a bit more robust.
Just as a starting point you should change how your "Or" logic works with a non-capturing group and there's a rogue period that was probably meant to be escaped:
e.g. (?:.*Promo.*Streaming\s-\s[1-4]mo.*|MobileOAC:Promo - Premier Streaming - 6mo - 30\.00 - 1moFO|.*Trial.*Streaming\s-\s[1-4]mo.*)
but there are is probably a better solution if you know everything that could possible appear in this product string:
e.g. ^(?:MobileOAC:)?(?:Promo|Trial)(?:\s-\sEssential)?\sStreaming\s-\s[0-9]mo\s-\s[0-9]?[0-9]\.[0-9][0-9]\s ...<any other optional fields>... (?:AMZ DOT-G3|<some other finishing text>)$ where you have clearly defined the beginning and end of the string as well as the optional fields.