Hola,
El metodo "executeQuery" tiene el mismo nombre, pero en un caso lo estabas ejecutando sobre la conexion y en el otro sobre un CallableStatement, esa es la diferencia
.
En cuanto a que devuelva un resultado... los procedimientos no devuelven nada, a no ser que sean funciones o que tengan parametros de entrada/salida, y si estas intentando que te devuelvan un resultset... la ultima vez que lo intente era algo dependiente de la base de datos y del driver JDBC, ya que devolver desde un procedimiento almacenado un resultset no esta contemplado en JDBC estándar (al menos la ultima vez que lo mire). Para hacerlo con Oracle, por ejemplo, hay que usar clases propias del driver JDBC de Oracle, mirando en su documentacion.
Saludos