以下の1行のコードでそれが可能
return re.match('(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])[a-zA-Z0-9]{8,64}', data) != None
(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])
で、英数字すべてが含まれているかを調べられる。 この時マッチする開始位置は 0 なので、 そのあとで
[a-zA-Z0-9]{10,64}
とすれば、指定文字種だけからなる文字列かどうかを調べられる。 この場合は、10文字以上、64文字以内。