The only way I've succeeded in getting it to work is naming all my ranges, then creating multiple copies of the sheet, which passes the range names to the new sheets. Typically this was needed for a file with 12 sheets reflecting each month of the year. After all 12 sheets were created from a single master, I could modify each range name separately as you described. After the sheets were created I could not make the same range name refer to different ranges.
If you're trying to loop through code, maybe try naming the ranges A_NAME, B_NAME, C_NAME for various sheets. Then within your code, append A_, B_, and so on to the NAME before you use it. Numbers may even work better.
Hope this helps.