TimeLIb.h with RTClib.h and using setSyncProvider()

I have an Arduino Uno with an Adafruit Chronodot.
Trying to understand how the RTC times relate to the Time Library times and how setSyncProvider syncs them.

Code below is intended to set the RTC clock to 5:10:30. set the Time Library to 9:27:05 in setup().
This is to help me understand which variables are RTC and which are Time Library.
Also in setup() I use setSyncProvider(time_provider) and setSyncInterval(5000) to sync the Time Library to the RTC every 5 seconds.

In Loop I print both times and after 7 seconds I set the Library time back to 9:27:05.
I would expect every 5 seconds for Time Library time to be synced back to the RTC.

Question: Why does this not work? RTC Time, now.hour now.minute now.second, clicks along nicely.
Every 7 seconds, Time Library time, hour(), minute(), second() does get reset to 9:27:05.
But the Time Library does not sync to the RTC every 5 seconds using setSyncInterval(5000);

Code and Output is shown below.

#include "RTClib.h"
#include <Wire.h>
#include <TimeLib.h>

RTC_DS1307 RTC;
 
unsigned long LastUnSyncTime = 0;

time_t time_provider()
{
    return RTC.now().unixtime();  
}


void setup() {
Serial.begin(9600);
Wire.begin();  //sets up the I2C
RTC.begin();   //initializes the I2C to the RTC

//  Set the RTC Time to 5:10:30 Nov 3 2020
RTC.adjust(DateTime(2020,11,3,5,10,30));

setSyncProvider(time_provider);  //sets Time Library to RTC time
setSyncInterval(5000);            //sync Time Library to RTC every 5 seconds

//Set Arduino Time Library different than RTC time 9:27:05 so see how sync works
setTime(9, 27, 05, 4, 07, 2015);

  if(timeStatus()!= timeSet) 
     Serial.println("Unable to sync with the RTC");
   else
     Serial.println("RTC has set the system time");
}


void loop() {

if ((millis() - LastUnSyncTime) > 7000)
  {
  Serial.println("-----------------------------");
  setTime(9, 27, 05, 4, 07, 2015);
  LastUnSyncTime = millis();
   }
 
DateTime now = RTC.now();  // gets RTC time into now Object

//Print Time Lib Times
Serial.print("hour:       ");
Serial.print(hour());
Serial.println();
Serial.print("minute:     ");
Serial.print(minute());
Serial.println();
Serial.print("seconds:    ");
Serial.print(second());
Serial.println();
Serial.println();  


//Print RTC time
Serial.print("now.hour:   ");
Serial.print(now.hour());
Serial.println();
Serial.print("now.minute: ");
Serial.print(now.minute());
Serial.println();
Serial.print("now.second: ");
Serial.print(now.second());
Serial.println();
Serial.println();
Serial.println();

delay(1000);
}
Output
  
RTC has set the system time
hour:       9 
minute:     27  
seconds:    5
  
now.hour:   5
now.minute: 10
now.second: 30
  
hour:       9
minute:     27
seconds:    6
  
now.hour:   5
now.minute: 10
now.second: 31
  
  
RTC has set the system time
hour:       9
minute:     27
seconds:    5
   
now.hour:   5
now.minute: 10
now.second: 30
  
  
hour:       9
minute:     27
seconds:    6
  
now.hour:   5
now.minute: 10
now.second: 31
  
hour:       9
minute:     27
seconds:    7
  
now.hour:   5
now.minute: 10
now.second: 32
  
hour:       9
minute:     27
seconds:    8
  
now.hour:   5
now.minute: 10
now.second: 33
  
hour:       9
minute:     27
seconds:    9
  
now.hour:   5
now.minute: 10
now.second: 34
  
hour:       9
minute:     27
seconds:    10
  
now.hour:   5
now.minute: 10
now.second: 35
  
hour:       9
minute:     27
seconds:    11
  
now.hour:   5 
now.minute: 10
now.second: 36
  
-----------------------------
hour:       9
minute:     27
seconds:    5
  
now.hour:   5
now.minute: 10
now.second: 37
  
hour:       9
minute:     27
seconds:    6
  
now.hour:   5
now.minute: 10
now.second: 38

from TimeLib.h

void setSyncInterval(time_t interval); // set the number of seconds between re-sync

Juraj - Thank you! 5000 seconds is a long time! I changed it to 5 and worked perfectly.