Email open rate calculations in subqueries with postgres
Answering my own question...but after playing around with it for awhile this seems to provide the correct answer:

SELECT
  MIN(timestamp) as "Date",
  "EmailEvents".send_name as "Send Name",
  cohort as "Cohort",
  product as "Product",
  COUNT(DISTINCT email) AS "Send Size",
  (100*openCount.distinctCount / COUNT(DISTINCT email))::numeric AS "Open Rate" 
FROM
  "EmailEvents",
  (SELECT
   DISTINCT send_name,
   COUNT(distinct email) as distinctCount 
   FROM
   "EmailEvents" 
WHERE
   event='open' 
GROUP BY
   send_name) openCount 
WHERE
   "EmailEvents".send_name = openCount.send_name 
   AND EXTRACT(month 
   from
   timestamp) = EXTRACT(month 
   from
   now()) 
GROUP BY
  "EmailEvents".send_name,
  product,
  cohort,
  openCount.distinctCount 
ORDER BY
  MIN(timestamp) DESC


Hope this helps someone else looking for a similar solution!