The DS3231 has open drain outputs, which means you have to have a pullup resistor from the SQW/INT output to the Arduino Vcc for an interrupt to work.
I see you have followed the modification procedures described in this blog post, but have you tried adding a pullup resistor as described above? INPUT_PULLUP might not be enough.