First a fact: Primary keys can not be updated. (Partition + Sort keys).
Answering your questions, Yes, a user could be able to change his/her name if the name is the sortKey, but it will enforce you to replace the current entry.
This require extra work on your side by handling all references and removing and creating a new item back. Dynamo does not have referencial integrity between rows.
If you consider this path doing it inside a transaction might be a good idea.
As you might already saw on some videos & docs. It is a common practice having a sort key equal to the partition key. This could help later if you create a Reversed GSI enabling a good set of access patterns (while using single table design).
PK SK ATTRIBUTES
USER#SOME_HASH USER#SOME_HASH NAME - EMAIL - ETC
from there, if you need to perform a search on the name, a Local Secondary Index (LSI) could do the trick. Something we usually do, is create a "slug" of the string to have a more powerful search.
Obviously a GSI would also enable you to perform this search, you could get it done by creating a sparse index.
Happy coding.