/^[-0-9a-ząćęłńóśźż .,;:()?!\'{0,10}\"{0,10}]+$/iu
źle zaprojektowałeś regexp... rozbijemy go na części to zobaczysz, gdzie tkwi problem:
/^
[ //początek deklaracji klasy znaków
-0-9
a-ząćęłńóśźż
.,;:()?!
\'{0,10} //znak: ' lub: {, lub: 0, lub: , lub: 1, lub: 0, lub: }
\"{0,10}]+
$/iu
wewnątrz klasy znaków nie możesz definiować kwantyfikatorów i są one tu traktowane jako alternatywne dopasowanie poszczególnych znaków.
Jeśli chcesz wewnątrz klasy dopuszczać jakieś różne znaki i dodatkowo ustawić maksymalną liczbę powtórzeń konkretnego znaku to można kombinować z regexp i np. grupą wyprzedzającą ale to troszkę zabawy będzie, bo musisz uwzględnić, że cudzysłowy i apostrofy nie muszą stać obok siebie:
const reg = /^(?!(?:.*['"]+.*){11,})[-\da-ząćęłńóśźż .,;:()?!'"]+$/i
reg.test('cudzysłów """ 10 razy """ . """ . "'); //true
reg.test('cudzysłów """ 9 razy """ . "" . "'); //true
reg.test('cudzysłów """ 11 razy """ . """ . ""'); //false
ewentualnie można podejść do tematu inaczej i najpierw sprawdzić ilość wystąpień w ciągu znaków " lub ' i jeśli jest więcej niż 10 to odrzucić ten ciąg.