As of writing this article, there is no support in AWS to rename a Lambda function. However, there is an option to set an alias. And you can create multiple of them.
The actual purpose of an alias, though, is to act as a pointer to a specific version of the lambda function. It can also act as a router to route traffic between two versions of the function with weight assignment e.g. to test it as a canary.
If alias does not meet your needs, then the only other way is to delete the function and recreate it with the desired name.