I have turn on 16 LEDs one by one using two 74HC595 shift register. I have some doubt regarding my code and need some help

Answer for question 2: because that's how you wrote the code, didn't you?

If you want a single variable, try this:

// ST_CP pin 12
const int latchPin = 8;
// SH_CP pin 11
const int clockPin = 12;
// DS pin 14
const int dataPin = 11;

void setup() {
  // Configure pins as outputs
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void loop() {
  for (int i = 0; i < 16; i++) {
    uint16_t LED = 1 << i;

    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, LSBFIRST, lowByte(LED));
    shiftOut(dataPin, clockPin, LSBFIRST, highByte(LED));
    digitalWrite(latchPin, HIGH);

    delay(1000);
  }
}