2 way traffic lights using push buttons

The aim of my project is to control traffic lights at each end of a lane. The lights allow traffic to flow in one direction only. i am using Sensors (Replaced by Push Button Switches) to detect cars waiting at the red light and change lights accordingly.

I am new to writing code and could use some pointers, I have got the basic 2 way traffic light system working using delays. but now I am struggling to implement the push buttons. You can see my code below;
(try not to laugh)

//Simple Traffic Lights V0.3 2way with sensors MW
//light 1
int red1 = 10;
int yellow1 = 9;
int green1 = 8;
//light 2
int red2 = 7;
int yellow2 = 6;
int green2 = 5;

int button1 = 1;
int button2 = 2;

void setup() {

//light 1
pinMode(red1, OUTPUT);
pinMode(yellow1, OUTPUT);
pinMode(green1, OUTPUT);
//light 2
pinMode(red2, OUTPUT);
pinMode(yellow2, OUTPUT);
pinMode(green2, OUTPUT);

pinMode(button1, INPUT);
pinMode(button2, INPUT);

}

void loop() {
// put your main code here, to run repeatedly:

// Light 1 RED & Light 2 RED
digitalWrite(green1, LOW);
digitalWrite(yellow1, LOW);
digitalWrite(red1, HIGH);
digitalWrite(green2, LOW);
digitalWrite(yellow2, LOW);
digitalWrite(red2, HIGH);
delay(1500);

//Light 1 Yellow & Light 2 RED
digitalWrite(yellow1, HIGH);
delay(1500);

//Liight 1 Green & Light 2 RED
digitalWrite(green1, HIGH);
digitalWrite(yellow1, LOW);
digitalWrite(red1, LOW);
delay(3000);

// I want the program to keep checking if the button has been pressed untill it has been
jump_point1:
if (digitalRead(button2) == HIGH);//once the button is high i want it to carry on with the program
else goto jump_point1;// every time the button isnt high i want it to go back and check again

digitalWrite(green1, LOW);
digitalWrite(yellow1, HIGH);
delay(1500);

digitalWrite(yellow1, LOW);
digitalWrite(red1, HIGH);
delay(1500);

digitalWrite(yellow2, HIGH);
delay(1500);

digitalWrite(green2, HIGH);
digitalWrite(yellow2, LOW);
digitalWrite(red2, LOW);
delay(3000);

// I want the program to keep checking if the button has been pressed untill it has been
jump_point2:
if (digitalRead(button1) == HIGH);//once the button is high i want it to carry on with the program
else goto jump_point2;// every time the button isnt high i want it to go back and check again

digitalWrite(green2, LOW);
digitalWrite(yellow2, HIGH);
delay(1500);

//back to top

}

I have annotated in the program what i want to happen, I would be very grateful if anyone could help...
Also i get a error messages saying i haven't defined the 'jump-point's...

I know there is probably a much better way to write this code... but I don't know it yet haha

Please Help!?

How are your buttons sewn on? You DO have external resistors, right? In pullup or pulldown mode?

Also i get a error messages saying i haven't defined the 'jump-point's...

I seriously doubt that that is what the error message said. Post the EXACT COMPLETE message.

Stop using goto. There is almost never a need to. The loop() function loops. Let it. On every pass, decide what needs doing, and do it.

I have been using latched buttons, I haven't got a board yet, but yes i will be using resistors, i have been using a simulator.

I know 'goto' shouldn't be used but i wasn't sure how else to do it.

I want the traffic light 1 to stay green while checking if the sensor(button2) has been pressed. once the button has been pressed i want it to continue with the program turning traffic light 2 green. Then check if the other sensor(button1) has been pressed, and once it has carry on with the program so traffic light 1 goes back to green. and keep repeating that. Im just very unsure how to achieve this...

You won't get very far using delay() statements. During the delay, most things are blocked.
Google for "arduino traffic light state machine" to get some example of how to proceed.