syntax error at or near "current_timestamp" while creating partition table
what am I doing wrong here?


You are incorrectly using non-literal values for partition bound specifications. Documentation states that partition_bound_spec is

IN ( { numeric_literal | string_literal | TRUE | FALSE | NULL } [, ...] ) |
FROM ( { numeric_literal | string_literal | TRUE | FALSE | MINVALUE | MAXVALUE } [, ...] )
  TO ( { numeric_literal | string_literal | TRUE | FALSE | MINVALUE | MAXVALUE } [, ...] )


that is, only literals or special keywords MINVALUE and MAXVALUE are allowed.  current_timestamp is a function, not a literal value.

As suggested in the comments, you will need to generate your create table ... partition ... statement dynamically if you want to use the function return value as the partition bound.