How many files can I create in an SD card?

I've written a VERY short code to create a csv file in my SD card, using sd.h. It works perfectly, the file is created and I can write to it.

Then I copy and paste the code so it creates 12 different files it gets stuck, output into serial becomes gibberish, and NONE of the files are created anymore.

And what I found out, is that I can only create 5 csv files without problems. If I try to make my shield create 6 or more files, it cannot create ANY files at all.

How many files can I create with SD shield?

void setup() {
  Serial.begin(9600);
  Serial.print("SD Card initializing   ");
  pinMode(10,OUTPUT);
  if (!SD.begin(10)) {Serial.println("Initialization failed!"); return;}
  Serial.println("Initialization done!"); 
  delay(2000);
  
  myFile = SD.open("A.csv", FILE_WRITE);
  if(myFile){
    Serial.println("A.csv");}
  else {Serial.println("A.csv failed.");}
  myFile.close();
  
  myFile = SD.open("B.csv", FILE_WRITE);
  if(myFile){
    Serial.println("B.csv");}
  else {Serial.println("B.csv failed.");}
  myFile.close();  

  myFile = SD.open("C.csv", FILE_WRITE);
  if(myFile){
    Serial.println("C.csv");}
  else {Serial.println("C.csv failed.");}
  myFile.close();

  myFile = SD.open("D.csv", FILE_WRITE);
  if(myFile){
    Serial.println("D.csv");}
  else {Serial.println("D.csv failed.");}
  myFile.close();

  myFile = SD.open("E.csv", FILE_WRITE);
  if(myFile){
    Serial.println("E.csv");}
  else {Serial.println("E.csv failed.");}
  myFile.close();

  myFile = SD.open("F.csv", FILE_WRITE);
  if(myFile){
    Serial.println("F.csv");}
  else {Serial.println("F.csv failed.");}
  myFile.close();
  
  myFile = SD.open("G.csv", FILE_WRITE);
  if(myFile){
    Serial.println("G.csv");}
  else {Serial.println("G.csv failed.");}
  myFile.close();  

  myFile = SD.open("H.csv", FILE_WRITE);
  if(myFile){
    Serial.println("H.csv");}
  else {Serial.println("H.csv failed.");}
  myFile.close();

  myFile = SD.open("I.csv", FILE_WRITE);
  if(myFile){
    Serial.println("I.csv");}
  else {Serial.println("I.csv failed.");}
  myFile.close();

  myFile = SD.open("J.csv", FILE_WRITE);
  if(myFile){
    Serial.println("J.csv");}
  else {Serial.println("J.csv failed.");}
  myFile.close();

  myFile = SD.open("K.csv", FILE_WRITE);
  if(myFile){
    Serial.println("K.csv");}
  else {Serial.println("K.csv failed.");}
  myFile.close();

As you can see, the file creating subsection of each code is identical to the other. Oh yeah, all these code are in the setup, the faults are happening before I even got into the loop