They are similar, and do sometimes overlap. To me the difference between them is the difference between having a function, and a name. If you are more giving something a name, you are designating it. If you are giving it a function, or responsibility you are assigning it.
In this case, the names are arbitrary, so 'designate' works better.