Formatting your validation rule as if it were code (i.e. splitting individual components onto separate lines, and using indentation) is a simple and helpful way to work out a wide range of syntax issues.
By applying that to your formula, I can see
- You have an extra comma between the second
ISPICKVAL() and the first
- You have an extra
AND in your nested
- You're trying to compare multiple values with a single operator (Accepts_Insurance_before_ABC__c <> Yes,No)
- Your outermost
AND() is missing a closing parenthesis
There are also some semantic (logical) issues
- You're looking for Stagename = closed won and Stagename = Sent Membership Agreement (instead of if the Stagename is one or the other)
- You're excluding the system administrator profile instead of enforcing this rule for that profile
When writing validation rules, it helps to remember that they're actually invalidation rules. They tell you when data is invalid. With that in mind, you're looking for something closer to this:
/* A single field can only take a single value, so you need OR */
ISPICKVAL(StageName, 'Closed Won'),
ISPICKVAL(StageName, 'Sent Membership Agreement')
/* Only enforce if the user is a sysadmin, need to use '=' here */
$Profile.Name = 'System Administrator',
/* We should complain if _either_ of the first two fields are blank,*/
/* if the final field is blank, or if it isn't blank but not yes/no */
Accepts_Insurance_before_ABC__c <> 'yes',
Accepts_Insurance_before_ABC__c <> 'no'
<> Yes,Nois invalid, missing final paren for the initial AND, last AND is invalid syntax.