When I was doing with blockbench mobs at first, I always had this problem because of pivit points. I just never touched them and everything worked well after that, but it may be the issue. Then, to make random textures work, all I have done is to make a model, place place from where it should take the texture, then remove the texture saved in blockbench and save the file. As blockbench model had no texture, it just took one from normal location -> with random entities working. (But you can do it only with mobs, not with blocks)
So some things worked, I got the random textures to work.
At first only the pink "pig69" texture was used until I changed the text to the updated one below.
#Named Pink Pig
I don't think I know exactly how this all works.
The naming still doesn't work, though.
And I had heard changing the pivot points woud mess things up so I specifically avoided that, but the model is still off. It's like the right and left legs are switched in-game and I don't know why that is, is it normal?
Some mobs have some changes from its model, like spiders legs etc, but most of the time it is in logical way. If they are just switched and nothing else, maybe you can make it somehow work (edit the model in blockbench strangely to make it work normally in-game). Now, why does not that naming thing work properly? because you need to write name.2=Pink Pig. You need to specify that it belongs to second texture group. After this, it should work.
(As I never edited pig, I can't tell if something like this is normal or not)