The apostrophe(s) in Haskell (and thus Plutus) are part of the name; they do not hold any specific meaning.
Haskell as a functional programming language borrows from mathematical notation. An apostrophe on a variable name conveys that it is somewhat related to another variable (without or with more apostrophes).
Imagine a simple function that adds three values. You could write these several ways.
addThreeNumbers a b c = a + b + c
addThreeNumbers' a b c = b + c + a
addThreeNumbers'' a b c = b + a + c
addThreeNumbers''' a b c = c + a + b
and so on. The result will always be the same.
The apostrophes in your example are, however, not of the same type as the prefix data types. This is an indicator that template haskell is being used.