Before you ask, yes I need to show this much data. stl() requires two periods of data. In this case, one period is 24 values, so stl() wants at least 48 values.
Use a time representation for which is a full cycle is 1 so for hourly data with a frequency of 24 a unit of time should correspond to a day. chron works that way so:
library(zoo)
library(chron)
z <- read.zoo(text = texinp, header = TRUE, sep = ",", FUN = as.chron)
stl(z, "per")