Is the sentence below grammatically correct? "Everything happens for a reason. But sometimes the reason is that you are smart and nice" Shouldn't "reason" be "reasons" since there 2 reasons given?
It's fine. The number of the subject matches the number of the verb. The structure is 'the reason [singular subject] is [singular verb] that you are [list of attributes].' The number of the verb doesn't have to match the object, just the subject.
Well, it's a two-fold reason. It's fine then. Two reasons would go something like this: "...for two reasons: You're smart and nice and you were lucky." Reason no.1 is that you're smart and nice and reason no.2 is that you were lucky.