Set WordPress Transient Expiration via Variable Value

$ExpiryInterval = "24 * HOUR_IN_SECONDS";

$ExpiryInterval is being assigned a string, but you need a number.

Consider this example:

$foo = 5 * 10;
$bar = "5 * 10";

The value of $foo is 50. The value of $bar is "5 * 10". set_transient expects a number, not a string, "24 * HOUR_IN_SECONDS" is text/string, 24 * HOUR_IN_SECONDS is a number. HOUR_IN_SECONDS is a constant equal to the number of seconds in an hour.