If you describe something as an FSM, you need to describe the states and transitions. For any nontrivial program you can't enumerate states nor list the full table of transitions. So, I expect that you want languages where what you write is a description of the full state of the program and a transition function (in some fashion).
Nothing that is literally like that comes to my mind, but this reminds me of https://en.wikipedia.org/wiki/Functional_reactive_programming, where you write functions that take streams of input events and produce output events. You can think of the internal state of the function as FSM state and the function's logic as defining transitions. (This approach admits compositionality in a pretty obvious way; I don't see how anything more FSM-like would, which is, I suspect, correlated with me not knowing practical languages that are more FSM-like.)