I noticed that in the latest Citus documentation for the create_time_partitions() function under Citus Utility Functions that when I followed the example, my code wasn't creating time partitions properly. I realized that I was missing the SQL INTERVAL keyword, and when I checked the example in the documentation, it was also missing the keyword.
The example should read as follows:
SELECT create_time_partitions(
table_name := 'foo',
partition_interval := '1 month',
end_at := now() + INTERVAL '12 months'
);