Why does this not work well on the server?

Why does this not work well on the server? Like there is still a cooldown, but the effect is gone?

give_gravity_efffect.mcfunction

execute unless score @s GiveGravityEffectCooldown matches 1.. run advancement revoke @a only mydatapack:give_gravity

scoreboard players set @s GiveGravityEffectCooldown 600```

**gravity_effect.mcfunction**
```tag @s add this
attribute @p[tag=!this] minecraft:generic.gravity base set 1
tag @s remove this```


**normal_gravity.mcfunction**
```attribute @p minecraft:generic.gravity base set 0.08```

**cooldown_gravity.mcfunction**
```execute as @a[scores={GiveGravityEffectCooldown=1..}] run scoreboard players remove @s GiveGravityEffectCooldown 1
execute as @a[scores={GiveGravityEffectCooldown=0}] run function speedrunnerabilities:normal_gravity
execute as @a[scores={GiveGravityEffectCooldown=0}] run advancement revoke @s only mydatapack:give_gravity

schedule function mydatapack:cooldown_gravity 1s```

**tick.mcfunction**
```function mydatapack:cooldown_gravity```

**cooldown_gravity.mcfunction**
```execute as @a[scores={GiveGravityEffectCooldown=1..}] run scoreboard players remove @s GiveGravityEffectCooldown 1
execute as @a[scores={GiveGravityEffectCooldown=0}] run function mydatapack:normal_gravity
execute as @a[scores={GiveGravityEffectCooldown=0}] run advancement revoke @s only mydatapack:give_gravity

schedule function mydatapack:cooldown_gravity 1s```
Continue to help post