Note that -regex/-iregex (GNU extensions also found on BSDs with different regex syntax), like the standard -path match on the full path, not just the file name.
If you want to find files whose name (as opposed to path) starts with 2 decimal digits, following by something that is not a decimal digit¹ and ending in .flac, you could do portably:
find . -name '[0-9][0-9][!0-9]*.[fF][lL][aA][cC]'
Note that it wouldn't match on 01.flac because the [!0-9] can't match there. Instead you could write it:
find . -name '[0-9][0-9][!0-9]*' -name '*.[fF][lL][aA][cC]'
Those use wildcard patterns, not regexps.
To use GNU find's -iregex, the equivalents would be:
find . -regextype egrep -iregex '.*/[0-9]{2}[^0-9/][^/]*\.flac'
find . -regextype egrep -iregex '.*/[0-9]{2}([^0-9/][^/]*)?\.flac'
That is, we anchor the two digits at the start, as we make sure the rest of the regexp doesn't span a /.
¹ Note that depending on locale and system, [0-9] may match on more characters (or even possible collating elements made of more than one character!) than just 0123456789. Use [0123456789] to be sure.
.and*. In your example, the second*could be a space and the third*should be a.or\.. You could use[^\.]to match any character that is not a period. Put a*after it to match 0 or more non-period characters.