Maybe because it is inappropriate to use blocklist/allowlist in all cases, so to replace blacklist/whitelist people have to come up with a few different words (blocklist, badlist, denylist, etc) and apply them accordingly. It is certainly pretty confusing to see similar concepts expressed in a few different words, I'd prefer an umbrella word in this case. Of course if we are going to say "blocklist is the word replacing blacklist and it'll go into textbook you don't have to think deeply about it just remember this is the word you must use in all cases" the problem would disappear, but I'm afraid we can't.
Master/Slave demonstrate this better. For example, in the context of pseudoterminals, primary/secondary is certainly not precise words to use, it is quite hard to come up with "obvious" words without re-educating everyone. (oh, and it's baked in the API name in various specifications, like "ptsname" => "pseudo terminal slave name")