Just in case it is not clear about original error, the commands while and if themselves test the return code of a function / command.
So when you wrote:
You were telling bash to execute '$seconds' with parameters / arguments '>' and '0', hence the message that '20' command was not found.
The correct format has been demonstrated by Firerat and colucix, but for clarity, the above should be written as:
while (( seconds > 0 ))
The alternative would be to use square brackets (although round are specifically designed for arithmetic) and would be written as:
while [[ $seconds -gt 0 ]]
Hope that helps
Note: 'if' requires the same as above