Puppet defined resource with cron resource
The problem here is this:
weekday => "${cron_weekday}",
You are basically converting your array to a string.
Change it to:
weekday => $cron_weekday,
And then call pass the parameter like this:
cron_weekday => [2, 4],
And of course do the same for the other variables too.