Consider all possibilities.
There is only one mole:
if Jackson is truthful,
Max is mole, and Gregory must also be true. It lines up since Gregory says that Max is lying.
if Max is truthful,
Gregory is a mole, and Jackson must also be true. so then Max would be the mole, but we established that's not possible. This option is not logical.
if Gregory is truthful,
Max is lying, and Jackson must also be truthful. So this option also leads you to believe Max is the mole.
To summarize, Max is the mole.
for two moles:
if Jackson is truthful,
both max and Gregory must be moles. So Max is definitely a mole, and according to Gregory (who is lying), Max is lying. so we can say max is NOT lying when he says Gregory is a mole. But if Max is not lying, then he is not a mole, so this logic is wrong.
if Max is truthful,
both Jackson and Gregory are false. So Max is not a mole and is not lying. So Gregory is definitely a mole according to Max, and since Jackson is lying when he says Max is the mole, that makes Jackson the other mole. This it's the best argument!
If Gregory is truthful,
both Jackson and Max are lying. Max is definitely a mole then, and Jackson is technically correct, even though he is a mole and moles lie. so this logic is not correct.
to summarize, Jackson and Gregory are the moles.