You still haven't posted move_and_fall(). What are you using to actually move the object? You have to have move_and_slide() or move_and_slide_with_snap() in there somewhere before is_on_floor() will work.
This works for me.
extends KinematicBody2D
const GRAV = Vector2(0, 9)
const JUMP = Vector2(0, -15)
const MUL = 30
var jumps := 0
var velocity := Vector2.ZERO
func _input(event):
if event.is_action_pressed('ui_select'):
if jumps < 2:
velocity = JUMP * MUL
jumps += 1
func _process(delta):
velocity += GRAV
move_and_slide(velocity, Vector2(0, -1))
if is_on_floor():
jumps = 0