Slice the avocado in half lengthwise and remove the pits and skin. Cut each half into thin slices and set aside.
Spread 1/2 of the softened butter onto 4 slices of the bread and arrange them, buttered side down in 1 or 2 large skillets over medium heat.
Top each slice of bread with about 1/4 cup of the pepper Jack cheese, add a slice of onion, a slice of tomato and season lightly with salt and pepper.
Top the tomato slices with avocado, then add the remaining pepper Jack cheese.
Butter the remaining slices of bread and place those, buttered side up, on top of each sandwich.
Cover the pan and cook until the bottom slice of bread is golden and toasted, 1 to 3 minutes. Press the sandwiches with the back of a spatula to flatten and "seal" them, then turn them carefully to the other side.
Cover and cook for an additional 2 to 3 minutes, or until all the cheese is melted and the bread is toasted and golden. Transfer to plates and allow the sandwiches to cool for 3 to 5 minutes before cutting.