Using some of the values given to us by the scrollbar class, you should be able to show your buttons after the scrollbar's value has reached the max value. From what I was able to figure out, the true max_value is the max_value minus the page value. To save on resources I used the scrollbar's value_changed signal instead of the _process function.
extends Node2D
onready var scrollbar = $RichTextLabel.get_v_scroll()
func _ready():
scrollbar.connect("value_changed", self, "on_scrollbar_value_changed")
func on_scrollbar_value_changed():
# From what I gather, the true max value is the max-value minus the
# page value.
var scrollbar_total_value = scrollbar.max_value - scrollbar.page
if scrollbar.value == scrollbar_total_value:
# Show your buttons here
$Button.visible = true
$Button2.visible = true
I hope this helps you out in some way, cheers!