I'd suggest that you remove the external resistors in the switch circuits. Connect one leg of the switch to ground and the other leg to a digital pin.
Then, use digitalWrite(pin, HIGH) after pinMode(pin, INPUT) to set the pin to INPUT and enable the internal pullup resistor.
Reading the switch states is then quite easy.
int startState = digitalRead(startPin);
int printState = digitalRead(printPin);
The value of startState will be HIGH if the start switch is not pressed, and LOW if it is.
You may need (it's hard to tell from your flowchart) to act only if the current state is not the same as the previous state, which will require you to keep track of the previous states of both switches.
Testing the value of counter, and incrementing it is trivial.
I still don't understand the LED situation. LEDs don't blink. They are either on or off. The Arduino can turn them on and off at predictable times, making the LEDs appear to blink. What isn't clear, though, is how long that blinking should occur (or how many times) or how often the state should change.
Anyway, the blink without delay example shows how to toggle an LED pin at appropriate times to make it blink. Setting the start time and interval is up to you. Making the pin stop toggling is a matter of setting the start time to 0 (and making sure that the start time is not 0 when deciding whether to turn the LED on).
The only challenging part of your project is sending the Enter to the PC. Sending Enter to the serial port is trivial, with any Arduino. Getting the application with focus to read the serial port is not.
GoBetwino might be useful, if the PC is running Windows. It might be able to make the Photobooth application act as though an enter was pressed.
Using a Leonardo or Micro with Keyboard support would make the task trivial.