How would you compare an excel with data in the database table?

Not with the statements that use EXCEPT or UNION ALL. Those statements need to have the same columns in the same order in their SELECT lists.

You could do this:

;WITH miss_recon(ref_id, date_col) AS (SELECT referenceId, TransactionDate FROM GameConfirmResponses 
WHERE TransactionDate >='2022-01-01' and TransactionDate<'2023-01-01'
EXCEPT 
SELECT ReferenceNo, TransactionDateFROM RazerReconciliation
WHERE date_col >='2022-01-01' and date_col<'2023-01-01')
SELECT c.*
FROM miss_recon M
INNER JOIN GameConfirmResponses R ON M.ref_id=R.referenceId
INNER JOIN [GameAPI].[dbo].[Coupons] C on R.ConfirmResponseID=C.ConfirmResponseID