I'm trying to change label names to just numbers inside each polygon. Also I would like to add a legend with the number = the name of each polygon
For this to be the most consistent you should create a new column (attribute) in the dataset that is the number.
For example to automatically generate numbers in the filed calculator using the expression:
Then you can do categorized symbology with following expression, to add it to the legend:
"ID_COLUMN" || ' - ' || "NAME_COLUMN"
You need to add an attribute to your features that you can set to a number, I would use row number for now using the expression:
Then you can use that attribute as a label, and add an Attribute Table to the Print Layout to let people see the number to name relationship.
If you just want to number some of your polygons and label the others then this question may help