You have to understand three things really to get where this comes from: Stress, auxiliary verbs and the schwa.
Linguistically, English is a language which has stress meaning that when you say a sentence your voice will lilt up and down a bit as you stress some syllables/words and others become weak or unstressed. Everybody does this, even in an RP accent, if you didn't you'd sound like a monotonous robot and it sounds wrong. Google stressed and unstressed vowels for a more in depth explanation/examples.
It's where we get things like "cuppa" meaning cup of tea - words such as "of" tend to get demoted to the unstressed form as we stress the more important words, usually nouns like tea and main verbs. Or you can see it with names, just go onto the baby names forum and you'll see pages of people debating whether it should be "RoBERTa" or "ROBerta" (probably not that exact name, but anyway)
Second the verb to have is a complicated one because it can be a main verb (I have three oranges) - though little used in British English (we tend to say I have got/I've got three oranges) or it can be an auxiliary which means that it's not the main verb in the sentence but it denotes something else like the tense. The most common form is in the perfect tenses: "Have you done your homework? / I haven't seen my grandmother in ages." These are a bit curious because actually the main verb in these sentences would be do and see, but we don't tend to stress these because we use this tense to communicate specifically the state of whether something has or hasn't happened, so the focus is on the have/haven't part.
That's the most common way we use have. So when we think about the verb to have, we think about how we pronounce it when it's part of a perfect tense and we think about it in a stressed form where we pronounce all parts of it just as it's spelled and say h-a-v.
But in other formats it doesn't necessarily get pronounced like that. And one such form is when it is part of a modal phrase like "should have". In this case there are two important parts of the sentence: should, and whatever it is you should have done. Have is just an auxiliary and it gets demoted to weak form. In writing: should've. The H disappears and the vowel gets demoted to schwa form which is that sort of "uh" sound that comes between letters. You don't say "I should-AV", you say "should'v" with an almost imperceptible gap between the d and v. (If you had to spell it, most people would go with "uv" - the symbol used in phonetics for this sound is ə.
The same thing happens to of in its weak form. Of is always a joining word anyway as it doesn't mean anything on its own so you need to have a something OF something. So of is always pronounced unstressed which means that the vowel gets demoted to schwa as well.
So there you go - have specifically in the form of should've, would've, could've = əv. Of in practically all situations = əv. They aren't just similar, they are actually identical.
Then you get somebody who mishears should've as should of and if nobody corrects them and/or they don't read much to encounter should have written down, they assume it is a correct variant and reproduce it.
Everybody including Scottish people pronounces -'ve as əv, it's an accent thing when the schwa sound comes out like the o in hot. And nobody says "should HAVE" with the stress on the should unless they are correcting somebody saying should of, or a foreign speaker of English. You just don't say it like that, I can promise you. It would sound incorrect. It marks non-natives out as such.