The manual and Flotu imply that:

Code:
if mem_l = 2  then speed = speed + 1 : gosub game_speed
is equivalent to

Code:
if mem_l = 2  then 
	speed = speed + 1 
	gosub game_speed
endif

Flotu,

does pbtn = 9 if no button is pushed? If it does then your code is doing what you told it to do - update speed each time through the loop while waiting for the button to be pushed whenever mem_1 is 2,3,4, or 5. See below

Code:
MAIN:
    gosub READ_BTNS
    if pbtn < 4 and Ctr_L <= mem_l then
      'lots of stuff here removed for readability (see his  post #1)
    endif

  if mem_l = 2  then speed = speed + 1 : gosub game_speed
  if mem_l = 3  then speed = speed + 1 : gosub game_speed
  if mem_l = 4  then speed = speed + 1 : gosub game_speed
  if mem_l = 5  then speed = speed + 1 : gosub game_speed

    value = value + 1           'To change the "seed" for random #
    Goto MAIN
    end