First of all, {%player%::canchatcool} isnt set in the first place meaning no one can even freaking talk
And this is so horribly coded.
This is literally 10x better:
options:
speed: 1 second
on chat:
if {chatcooldown::%player's uuid%} is not set:
set {chatcooldown::%player's uuid%} to {@speed} seconds before now
if difference between {chatcoooldown::%player's uuid%} and now < {@speed}:
cancel event
stop
set {chatcooldown::%player's uuid%} to now