A CI can be constructed without a hypothesis. But a $p$-value requires you to state one. Consider, for one, that a difference in standard deviations is not a natural (interpretable) quantity but a ratio is, a ratio of normal sample variances for instance takes an F distribution.
In that case, we begin our line of inquiry to ask what the sampling distribution of the variance ratio is under the null hypothesis. As user Cdalitz points out, it is a common problem in bootstrap testing that the null hypothesis is not trivial to calculate. In the answer I link, a popular answer provides an alternative approach to calculating a $p$-value using resampling statistics if not bootstrap per se. Rather than resampling data, permute the ID labels to obtain such a distribution.
In your data:
df <- data.frame(
i = rep(0:1, each=10),
x = c(10,23,21,12,14,14,13,14,15,25,
10,11,10,13,13,13,14,19,12,23)
)
re <- exp(diff(log(with(df, tapply(x, i, var)))))
pre <- replicate(10000, {
df$i <- sample(df$i)
exp(diff(log(with(df, tapply(x, i, var)))))
})
pre <- c(re, pre)
hist(pre)
abline(v=c(re, 1/re), col=c('blue', 'red'))
(mean(pre > re) + mean(pre < 1/re))/2
gives a permutation p-value of 0.72 which is equally as pessimistic as your CI for difference which spans from -2.2 to 3.4.