That is not correct. 15 is total maximum number of repeats including the first one. Even the diagram on https://ihateregex.io/expr/username correctly says that loop can be taken between 2 and 14 times.
where does the extra 1 come from? a{2,5} means match 'a' two to five times