DS3231 rtc module not keeping time Accuracy, please Help

Hello friends, I'm using my DS3231 rtc module with NodeMCU,the problem is that DS3231 RTC is loosing time accuracy. I measured the time difference between two times (one on my computer and other on DS3231) and knew that after every 5 minutes, DS3231 goes 2seconds behind which means for every hour, it will loose 24seconds that is very understandable
I used simple code from RTClib.h to set the time. I'm just getting time output to the Serial monitor.
Please help me if there's anyway to fix it as DE3231 is considered to be extremely accurate.

Change 3V battery. DS3231 doen't like a too lower value.

It might be a fake. Post a link to the product page, where you purchased the module.